
Java 排序算法
曾淘
值得去的地方,没有捷径;难走的路,才更值得开始!
展开
-
Java 归并排序算法
简介 上一章我们学习了 Java 快速排序算法,这一章,我们来学习快归并排序算法,so,多了不说,继续老规矩,学习内容如下: 1、归并排序的定义 2、归并排序的思路 3、代码实现 4、运行过程 & 代码分析 1、归并排序的定义 归并排序:是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表原创 2020-12-23 18:12:30 · 785 阅读 · 0 评论 -
Java 快速排序算法
简介 上一章我们学习了 Java 希尔排序算法,这一章,我们来学习快速排序算法,so,多了不说,继续老规矩,学习内容如下: 1、快速排序的定义 2、快速排序的思路 3、代码实现 1.快速排序的定义 快速排序的基本思想:通过一趟排序将待排记录分隔成 独立的两部分 ,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 2.快速排序的思路 快速排序使用分治法,把一个串(list)分为两个子串(child-list)具体算法描述如下: 从数列中挑出一个元素,原创 2020-12-18 17:38:27 · 2181 阅读 · 3 评论 -
Java 希尔排序算法
简介 上一章我们学习了 Java 插入排序算法,这一章,我们来学习插入排序算法,so,多了不说,继续老规矩,学习内容如下: 1、希尔排序的定义 2、希尔排序的思路 3、代码实现 1.希尔排序的定义 希尔排序的实质就是:分组插入排序,它是简单插入排序经过改进之后的一个更高效的版本,又称缩小增量法。 将整个无序序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序时,再对全体元素进行一次直接插入排序。 因为直接插入排序在元素基本有序原创 2020-12-11 11:15:29 · 338 阅读 · 0 评论 -
Java 插入排序算法
简介 上一章我们学习了 Java 选择排序算法,这一章,我们来学习插入排序算法,so,多了不说,继续老规矩,学习内容如下: 1、插入排序的定义 2、插入排序的思路 3、代码实现 1.插入排序的定义 插入排序算法:是基于某序列已经有序排列的情况下,通过一次插入一个元素的方式按照原有排序方式增加元素 2.插入排序的思路 默认从第2个数据开始比较。如果第2个数据比第1个小,则交换。 然后在用第3个数据比较,如果比前面小,则插入。否则,退出循环。 说明:默认将第1数据看成有序列表,后面无序的列表循环每一个数据原创 2020-12-09 18:16:36 · 2068 阅读 · 2 评论 -
Java 冒泡排序算法
简介 在写冒泡之前,我先简单的说明一些信息,方便同学们学习,比如: 1、排序的定义 2、排序的分类 3、排序的基本情况 4、冒泡排序的思路 5、代码实现 1.排序的定义 所谓排序:就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 排序算法,就是如何使得记录按照要求排列的方法。 排序算法,在很多领域得到相当地重视,尤其是在大量数据的处理方面。 一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符合实际的优秀算法,得经过大量的推理和分析。 2.原创 2020-12-07 16:51:41 · 571 阅读 · 0 评论 -
Java 选择排序算法
简介 前一章我们说了 Java 冒泡排序算法 ,这章我们来学习一下选择排序,老规矩,我们带着问题去学习,这样能更快的熟悉和掌握,学习如下: 1、选择排序的定义 2、选择排序的思路 3、代码实现 1.选择排序的定义 选择排序算法:基本思路是为每一个位置选择当前最小的元素。 2、选择排序的思路 将第一个值看成最小值 然后和后续值进行比较,找出最小值和下标,交换本次遍历的起始值和最小值 直至完成第(n-1)个位置的元素选择 说明:每次遍历的时候,将前面找出的最小值,看成一个有序的列表,后面的看成无序的列表,原创 2020-12-08 15:29:58 · 427 阅读 · 0 评论