java
文章平均质量分 85
辉子灬
标准IT男一枚
展开
-
Java虚拟机详解
线程JVM 系统线程每个线程相关的程序计数器栈本地栈栈限制栈帧局部变量数组操作数栈动态链接线程共享堆内存管理非堆内存即时编译方法区类文件结构类加载器更快的类加载方法区在哪里类加载器参考运行时常量池异常表符号表Interned 字符串线程这里所说的线程指程序执行过程中的一个线程实体。JVM 允许一个应用并发执行多个线程。Hotspot JVM 中的 Java 线程与原生操作系统线程有直接的映射关系。...原创 2018-03-21 13:01:24 · 117 阅读 · 0 评论 -
基数排序(java)
基数排序介绍基数排序(Radix Sort)是桶排序的扩展,它的基本思想是:将整数按位数切割成不同的数字,然后按每个位数分别比较。具体做法是:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。 基数排序图文说明基数排序图文说明通过基数排序对数组{53, 3, 5...原创 2018-07-22 18:38:31 · 141 阅读 · 0 评论 -
堆排序(java实现)
堆排序介绍堆排序(Heap Sort)是指利用堆这种数据结构所设计的一种排序算法。 我们知道,堆分为"最大堆"和"最小堆"。最大堆通常被用来进行"升序"排序,而最小堆通常被用来进行"降序"排序。鉴于最大堆和最小堆是对称关系,理解其中一种即可。本文将对最大堆实现的升序排序进行详细说明。 最大堆进行升序排序的基本思想:① 初始化堆:将数列a[1...n]构造成最大堆。② 交换数...原创 2018-07-22 18:33:09 · 131 阅读 · 0 评论 -
选择排序(java实现)
选择排序介绍选择排序(Selection sort)是一种简单直观的排序算法。它的基本思想是:首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置;接着,再从剩余未排序的元素中继续寻找最小(or最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序图文说明 下面以数列{20,40,30,10,60,50}为例,演示它的选择排序过程(...原创 2018-07-22 18:31:00 · 359 阅读 · 0 评论 -
希尔排序(java实现)
希尔排序介绍希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。希尔排序实质上是一种分组插入方法。它的基本思想是:对于n个待排序的数列,取一个小于n的整数gap(gap被称为步长)将待排序元素分成若干个组子序列,所有距离为gap的倍数的记录放在同一个组中;然后,对各组内的元素进行直接插入排序。 ...原创 2018-07-22 18:28:19 · 6638 阅读 · 1 评论 -
直接插入排序(java实现)
直接插入排序介绍直接插入排序(Straight Insertion Sort)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表。开始时有序表中只包含1个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排序过程。 直接插入排序图文说明 下面选取直接插入排序的一个中间过程对其进...原创 2018-07-22 18:26:40 · 128 阅读 · 0 评论 -
快速排序(java实现)
快速排序介绍快速排序(Quick Sort)使用分治法策略。它的基本思想是:选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分;其中一部分的所有数据都比另外一部分的所有数据都要小。然后,再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序流程:(1) 从数列中挑出一个基准值。(2) 将所有比基准值小的摆放在基准前面...原创 2018-07-22 18:23:40 · 135 阅读 · 0 评论 -
冒泡排序(java实现)
冒泡排序介绍冒泡排序(Bubble Sort),又被称为气泡排序或泡沫排序。它是一种较简单的排序算法。它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的元素就在数列的末尾! 采用相同的方法再次遍历时,第二大的元素就被排列在最大元素之前。重复此下面以数列{20,40,30,10,60,50}为例...原创 2018-07-22 18:19:40 · 186 阅读 · 0 评论