Datastruct
Jeremy__Zhu
世界那么大,趁着年轻,赶紧去看看!
展开
-
Data Structures——Chapter One Exercises(换位置+复数的加减乘除运算)
题目: 1.输入10个整数,将其中最小的属于第一个数调换,将最大的属于最后一个数对换。分析:定义三个函数,输入10个数,处理函数,输出函数package FIRST_Chapter;import java.util.*;/* * 1.输入10个整数,将其中最小的属于第一个数调换,将最大的属于最后一个数对换。 分析:定义三个函数,输入10个数,处理函数,输出函数 */public c原创 2017-12-06 17:23:40 · 303 阅读 · 0 评论 -
leetCode第二题答案,两个链表存储形式的数据加和,最终返回一个链表(java版分析)
题目详情我的开始代码解析这个代码是简单实现版,没有追求代码的精简。package com.ke.leetCodes;class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } //Input: (2 -> 4 -> 3) + (5 -> 6 -&g...原创 2019-03-20 15:17:34 · 523 阅读 · 0 评论 -
Java并发实战——AQS等的理解
Java中的公平锁和非公平锁实现详解Java中的公平锁和非公平锁实现详解自旋锁原理及java自旋锁自旋锁原理及java自旋锁join() 的示例和作用join() 的示例和作用三大性质总结:原子性,有序性,可见性三大性质总结:原子性,有序性,可见性Java重排序和happens-before原则Java重排序和happens-before原则...原创 2018-07-28 21:54:09 · 214 阅读 · 0 评论 -
关于TreeMap和TreeSet的实例研究和总结
TreeSet实例往TreeSet添加元素的时候,如果元素本身具备了自然顺序的特性(数字按照值得大小,字符串按照顺序字符的ASCII码排序),那么就按照元素自然顺序的特性进行排序存储。往TreeSet添加元素的时候,如果元素本身不具备自然顺序的特性,那么该元素所属的类必须要实现Comparable接口,把元素 的比较规则定义在compareTo()方法上。 如果比较元素的时候,com...原创 2018-06-30 23:44:04 · 371 阅读 · 0 评论 -
快速排序(Java语言实现)——从控制台输入数据,排序后输出
快速排序排序思想 通过对数据元素集合Rn 进行一趟排序划分出独立的两个部分。其中一个部分的关键字比另一部分的关键字小。然后再分别对两个部分的关键字进行一趟排序,直到独立的元素只有一个,此时整个元素集合有序。 所有比R[low]小的放前面,所有比R[low] 大的放后面,然后以R[low]为分界,对R[low … high] 划分为两个子集和,再做划分。直到low >= ...原创 2018-03-29 16:54:27 · 2172 阅读 · 0 评论 -
希尔排序(Java实现)——从控制台输入动态数据,排序后输出
希尔排序排序思想希尔排序的思想特别像在插入排序基础上得到了改进,希尔排序也成为“缩小增量排序”,其基本原理是,现将待排序的数组元素分成多个子序列,使得每个子序列的元素个数相对较少,然后对各个子序列分别进行直接插入排序,待整个待排序列“基本有序”后,最后在对所有元素进行一次直接插入排序。因此,我们要采用跳跃分割的策略:将相距某个“增量”的记录组成一个子序列,这样才能保证在子序列内分别进行直接...原创 2018-03-28 20:21:13 · 630 阅读 · 0 评论 -
插入排序(Java实现)---从控制台输入不定长数组,并输出排序结果
插入排序排序思想:对前两个数据进行排序,较大的放后面将第三个数据插入到前两个数据中,放在合适的位置相应数据后移相关代码实现第一个JAVA文件(Main.java)package com.dlut.insertSort;import java.util.ArrayList;import java.util.Scanner;public class Main {...原创 2018-03-28 15:25:35 · 1438 阅读 · 0 评论 -
选择排序(Java实现)--从键盘输入动态数组,并且排序后输出
选择排序选择排序思想: 选择一个最小的,与第一位交换 除了第一位,选择一个最小的,放在第二位 除了前两位,选择一个最小的,放在第三位 以此类推。。。代码文件1(Main.java)package com.dlut.SelectionSort;import java.util.ArrayList;import java.util.Scanner;p...原创 2018-03-28 14:07:35 · 2852 阅读 · 0 评论 -
冒泡排序(Java实现)--如何从键盘上输入一个可变长数组,同时输出排序结果
Scanner简介scanner类中的hasNext() 介绍这个原因:从键盘输入的时候,很容易将两个方法用来判断是否输入完毕。但是,这两个是有区别的,如果用了hasNext作为判断条件,很容易跳不出循环。例如:Scanner sc = new Scanner(System.in);while(sc.hasNext){ int i=sc.nextInt();}...原创 2018-03-27 19:10:10 · 2950 阅读 · 0 评论 -
leetCode 第三题
题目详情思路分析去重的问题首先应该想到的是set数据结构。其的思路就是去利用set来进行记录当前的集合中是否有重复的元素。class Solution { public int lengthOfLongestSubstring(String s) { Set<Character> s1 = new HashSet<Character>();...原创 2019-03-20 20:38:19 · 729 阅读 · 0 评论