简单的说明一下三种排序,选择排序,插入排序,希尔排序
2017-03-08 22:11
267 查看
1:选择排序
1:找到数组中最小的元素与元素的第一个元素交换位置,在剩下的元素中找到最小的元素与第二个元素交换。循环下去
效率只和数组的大小有关
2:插入排序
1:打牌时候没摸一张牌就把它放在 它应有的位置上,排摸完时排序也就完成了
效率和数组是否接近有序 有关
3:希尔排序1:对数组以一个步长间隔,区分为几个小的数组进行插入排序,步长依次递减,最后进行一个插入排序
这样一组数[ 13 14 94 33 82 25 59 94 65 23 45 27 73 25 39 10 ] 以步长为5开始进行排序13 14 94 33 8225 59 94 65 2345 27 73 25 3910
再以3为步长进行排序:
10 14 7325 23 1327 94 3339 25 5994 65 8245
最后进行插入排序完成整个列表
效率无法准确的描述,是插入排序的升级版。效率高不少,这儿有两个地方会对效率产生影响一是步长的选择。而是步长间的间隔 例: 以5,3,1 步长排序 或者 6,5,4,3,2,1 这样两种选择都会对排序造成影响。
1:找到数组中最小的元素与元素的第一个元素交换位置,在剩下的元素中找到最小的元素与第二个元素交换。循环下去
效率只和数组的大小有关
2:插入排序
1:打牌时候没摸一张牌就把它放在 它应有的位置上,排摸完时排序也就完成了
效率和数组是否接近有序 有关
3:希尔排序1:对数组以一个步长间隔,区分为几个小的数组进行插入排序,步长依次递减,最后进行一个插入排序
这样一组数[ 13 14 94 33 82 25 59 94 65 23 45 27 73 25 39 10 ] 以步长为5开始进行排序13 14 94 33 8225 59 94 65 2345 27 73 25 3910
再以3为步长进行排序:
10 14 7325 23 1327 94 3339 25 5994 65 8245
最后进行插入排序完成整个列表
效率无法准确的描述,是插入排序的升级版。效率高不少,这儿有两个地方会对效率产生影响一是步长的选择。而是步长间的间隔 例: 以5,3,1 步长排序 或者 6,5,4,3,2,1 这样两种选择都会对排序造成影响。
相关文章推荐
- 三种简单排序用java实现(选择排序,冒泡排序,插入排序)
- 排序方法了解一下(冒泡排序、选择排序、堆排序、插入排序、希尔排序、归并排序、快速排序、基数排序)
- java实现七种排序 (插入排序, 希尔排序, 插入排序, 快速排序, 简单选择排序, 堆排序, 归并排序)
- 最简单之Java实现冒泡排序、选择排序、插入排序、希尔排序、归并排序和快速排序(转载请注明出处)
- 三种简单排序的实现(冒泡排序,选择排序,插入排序 )
- 常用的简单排序之插入排序,冒泡排序,选择排序,希尔排序
- C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序
- C++各种常见排序算法 冒泡排序,插入排序,快排序,选择排序,希尔排序
- C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序
- C#的四种排序算法 冒泡排序、选择排序、插入排序和希尔排序
- 各种排序算法总结----基数排序、归并排序、插入排序、冒泡排序、选择排序、快速排序、堆排序、希尔排序
- C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序
- C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序
- 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。
- 数据结构与算法——三种基础排序算法C#实现(冒泡排序、选择排序、插入排序)
- 各种排序算法实现——基数排序、归并排序、插入排序、冒泡排序、选择排序、快速排序、堆排序、希尔排序
- C++三种排序,快速排序、选择排序、冒泡排序----简单代码
- C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序
- C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序
- C#排序算法:冒泡排序 选择排序 插入排序 希尔排序