排序方法的演示1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序不稳定:快速排序,希尔排序,堆排序。 1.插入排序 1.1.基本思想 ...
分类:
编程语言 时间:
2019-01-20 18:49:49
阅读次数:
211
1、插入排序 原理: 示例代码: 2、希尔排序 希尔排序是优化的插入排序,即先分组,再插入排序。 示例代码: 3、冒泡排序 说明:i指针从后往前。 视频:https://ke.qq.com/course/350918#term_id=100417287 ...
分类:
编程语言 时间:
2019-01-18 15:11:47
阅读次数:
257
基于比较的排序: 基础排序: 冒泡排序:谁大谁上,每一轮都把最大的顶到天花板 效率太低——掌握swap。 选择排序:效率较低,但经常用它内部的循环方式来找最大值和最小值。 插入排序:虽然平均效率低,但是在序列基本有序时,它很快,所以也有其适用范围。 希尔排序(缩小增量排序):是插排的改良,对空间思维 ...
分类:
编程语言 时间:
2019-01-18 10:52:34
阅读次数:
252
冒泡排序(交换排序):大的数右移交换,优化成鸡尾酒排序;演变成快速排序插入排序:从第二个元素往左比较,插入到小于他的数后面希尔排序选择排序:选择最小的放在最左侧,以此类推归并排序:基于分治算法快速排序(交换排序):基于分治算法堆排序和优先级队列,基于二叉堆计数排序:小范围内的整数超级快速桶排序基数排序-桶排序的扩展两种交换排序算法1.冒泡排序->优化成鸡尾酒排序2.快速排序两种基于分治算法的
分类:
编程语言 时间:
2019-01-16 16:36:27
阅读次数:
155
希尔排序就是对直接插入排序的一个优化。比如有这么一种情况:对一个无序数组进行从小到大的排序,但是数组的最后一个位置的数是最小的,我们要把它挪到第一个位置,其他位置的都要往后移动,要是这个数组非常大,那么直接插入排序的开销就非常大。 现在有一个array,希尔排序就是设定一个增量incrementNu ...
分类:
编程语言 时间:
2019-01-08 12:15:58
阅读次数:
185
Java实现的12种排序 2019-01-05 一.冒泡排序及其实现 二.希尔排序及其实现 三.插入排序及其实现 四.插入排序及其实现 五.快速排序及其实现 六.合并排序及其实现 七.计数排序及其实现 八.基数排序及其实现 九. 桶排序及其实现 十. 堆排序及其实现 十一.二叉树排序及有序集合 十二 ...
分类:
编程语言 时间:
2019-01-06 00:03:00
阅读次数:
213
排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中进行排序。 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序 ...
分类:
编程语言 时间:
2019-01-05 15:11:44
阅读次数:
206