随笔分类 - Java
Java自学笔记
摘要:一、基数排序思想 相比其它排序,主要是利用比较和交换,而基数排序则是利用分配和收集两种基本操作。基数 排序是一种按记录关键字的各位值逐步进行排序的方法。此种排序一般适用于记录的关键字为整数类型的情况。所有对于字符串和文字排序不适合。 实现:将所有待比较数值(自然数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排...
阅读全文
摘要:一、堆排序 堆排序(Heap Sort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。二、堆什么是堆 堆是一个树形结构,其实堆的底层是一棵完全二叉树。而完全二叉树是一层一层按照进入的顺序排成的。按照这个特性,我们可以用数组来按照完全二叉树实现堆。大顶堆与小顶堆 大顶堆原...
阅读全文
摘要:一、排序思想 将两个或两个以上的一排序文件合并成一个有序文件的过程叫归并,而归并排序就是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。将以有序的了序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为“二路归并”。
阅读全文
摘要:一、排序思想 希尔排序(Shell’s Sort)是插入排序的一种,是直接插入排序算法的一种更高版本的改进版本。 二、图解 三、代码实现
阅读全文
摘要:一、排序思想 快速排序是由冒泡排序改进而得到的,是一种分区交换排序方法。思想如下:一趟快速排序采用从两头向中间扫描的方法,同时交换与基准记录逆序的记录。 二、图解 三、代码实现
阅读全文
摘要:一、查找思想 折半查找 也称为二分查找,是一种效率较高的查找方法,查找时要求表中的节点按关键字的大小排序,并且要求线性表顺序存储。 二、图解 假设用变量 low 和 high 分别存储待查元素所在范围的下界和上界,变量 mid 存储区间的中间位置,即 mid = [(low + high) / 2]
阅读全文
摘要:一、排序思想 从数组第一个元素开始(0下标),该元素可以认为已经被排序; 取出待排序列中第一个元素,然后从“有序”序列中,从后往前扫描; 如果该元素(有序序列)大于待插入元素(待排序列),将该元素后移一个位置; 重复步骤3,直到找到“有序序列”中某一元素小于或等于“待插入元素”的位置; 将待插入元素
阅读全文
摘要:一、排序思想 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是: 二、图解 三、代码实现 1 public class SelectionSort { 2 public static void main(String[] args) { 3 int[] arr = {
阅读全文
摘要:一、排序思想 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 二、图解 三
阅读全文
摘要:首先致敬Java之父:JAMES GOSLING 一、什么是JDK,JRE,JVM? 1.JDK(Java Development Kit) Java开发工具包。 JDK = 开发工具 + JRE; 2.JRE(Java Runtiime Environment) Java 运行环境。 JRE =
阅读全文

浙公网安备 33010602011771号