1 INSERTION - SORT (A)2 for j= 2 to A.length 3 key = A[j] 4 // Insert A[j] into the sorted sequence A[1..j-1] 5 i = j - 1 6 while i>0 and A[i]>key 7 A ...
分类:
编程语言 时间:
2020-07-18 16:05:26
阅读次数:
68
基本思路分析: 首先选择第一个数作为基数,因为只有一个数,所以他就是一个有序的数组嘛。 然后遍历他后面的数,如果比他小,插入到他前面,如果比他大,就插入到他后面。此时就有两个数已经成为有序的了; 在遍历下一个数,找到他该插入的位置,即该位置的后一个数比改数大,前一个数比该数小。 5 1 4 2 3 ...
分类:
编程语言 时间:
2020-07-18 16:04:40
阅读次数:
42
希尔排序是插入排序的升级版 思路其实也大同小异 先对数组进行分组,假设8个数字 定义一个步长,步长设为数组长的的一半,即 arr.length / 2 则最开始步长为 8 / 2 = 4 (下标)04、15、26、37 各位一组进行插入排序比较 第二次步长为 4 / 2 = 2 则0 2 4 6、1 ...
分类:
编程语言 时间:
2020-07-18 15:54:00
阅读次数:
57
希尔排序 希尔排序法基本思想 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止 public class ShellSort { public static void main(Stri ...
分类:
编程语言 时间:
2020-07-16 21:53:38
阅读次数:
58
1.求平均值 冒泡法 选择排序 插入排序 快速排序 二分法查找 使用工具排序 工具二分法查找 生成随机数 2.在二分法时,没有强调要先排序才可以二分法。递归没太看明白。 3.明天学习综合实例和第四章开头。 ...
分类:
编程语言 时间:
2020-07-14 00:49:04
阅读次数:
72
排序 1.插入排序:插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。较为稳定 时间复杂度:最好情况为0( ...
分类:
其他好文 时间:
2020-07-12 22:46:24
阅读次数:
72
一、排序的概念:将一系列数据按照某个关键字进行递增或递减的顺序排列起来 二、排序的方式: 1、插入排序: 直接插入排序: 一 一比对 折半插入排序:在已经拍好的序列中插入,适合初始记录无序、n较大的情况 希尔排序:待排序的关键字基本有序->效率较高 分组插入,先分割(相隔某个增量的记录),对每组进行 ...
分类:
其他好文 时间:
2020-07-12 22:30:17
阅读次数:
65
排序(重新排列表中的元素,使表中的元素满足关键字递增或递减): 稳定性:设表中有两个元素a,b,其对应关键字x,y,且a在b前面,若排序后,a仍在b前面,则我们说该排序算法是稳定的,否则不稳定 内部排序:值在排序期间元素全部放在内存的排序。 插入排序:每次将一个未排列的元素插入到一个已经排好的子序列 ...
分类:
其他好文 时间:
2020-07-12 22:27:05
阅读次数:
73
第八章给我们介绍了内部排序和外部排序。各种排序方法都有各自的优缺点,没有说哪一种是最好的。直接插入排序、折半插入排序、冒泡排序和简单选择排序的速度较慢,但是它们实现的过程比较简单,所以称他们为简单的排序方法。速度较快的算法称为先进的排序方法,但是实现的过程比较复杂。我们在选择排序方法时,要综合考虑。 ...
分类:
其他好文 时间:
2020-07-12 22:14:02
阅读次数:
73
一、排序 概念:排序(Sorting)是按关键字的非递减或非递增顺序对一组记录重新进行排列的操作。 排序方式: 1.插入排序:①直接插入排序:是一种最简单的排序方法,其基本操作是将一条记录插入到已排好序的有序表中,从而得到一个新的、 记录数量增1的有序表。【一 一对比】 特点: (I)稳定排序。 ( ...
分类:
其他好文 时间:
2020-07-12 20:28:09
阅读次数:
69