排序算法复习:直接插入排序、堆排序、快排、冒泡排序
2016-12-04 17:20
375 查看
这里有动态图示,效果很好:https://www.toptal.com/developers/sorting-algorithms/
冒泡排序,感觉是最简单的排序:
基本思路:每次把数组中最小的一个元素像气泡一样浮动、固定到最顶端:
从前向后遍历数组,每次拿到一个元素,就执行一遍冒泡:
从数组末尾开始,到当前元素截止,从后向前遍历,每次比较数组中相邻的两个元素,如果后者比较小,就把两者互换。
这样经过第一次冒泡,可以把最小的元素『浮』到数组的首位。第二次冒泡会把第二小的元素『浮』到数组的第二位。直到所有的元素都被『浮动』到正确的位置。
代码极其简单:
View Code
冒泡排序,感觉是最简单的排序:
基本思路:每次把数组中最小的一个元素像气泡一样浮动、固定到最顶端:
从前向后遍历数组,每次拿到一个元素,就执行一遍冒泡:
从数组末尾开始,到当前元素截止,从后向前遍历,每次比较数组中相邻的两个元素,如果后者比较小,就把两者互换。
这样经过第一次冒泡,可以把最小的元素『浮』到数组的首位。第二次冒泡会把第二小的元素『浮』到数组的第二位。直到所有的元素都被『浮动』到正确的位置。
代码极其简单:
插入排序:217 堆排序:770 冒泡排序:740 Array.sort 排序:11 快排:6 插入排序:217 堆排序:771 冒泡排序:753 Array.sort 排序:10 快排:5 插入排序:218 堆排序:763 冒泡排序:735 Array.sort 排序:9 快排:4 插入排序:217 堆排序:762 冒泡排序:747 Array.sort 排序:11 快排:7 插入排序:222 堆排序:764 冒泡排序:759 Array.sort 排序:17 快排:7
View Code
相关文章推荐
- 数据结构与算法:七种排序算法总结(冒泡排序、选择排序、直接插入排序、希尔排序、堆排序、归并排序、快速排序)
- 排序算法: 冒泡排序, 快速排序,希尔排序,直接插入排序 ,直接选择排序,归并排序,堆排序
- 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序
- 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序
- C语言实现基本排序算法----排序(直接插入排序,SHELL排序,冒泡排序,快速排序,简单选择排序,堆排序)
- python排序算法-冒泡排序,选择排序,直接插入排序,希尔排序,归并排序,快速排序,堆排序
- 排序算法汇总(选择排序 ,直接插入排序,冒泡排序,希尔排序,快速排序,堆排序)
- c语言各种常见排序(直接插入排序、折半插入排序、冒泡排序、选择排序、堆排序)
- 【数据结构】排序算法(一)之直接插入排序,冒泡排序
- 随机生成30个数,试比较直接插入排序、简单选择排序、冒泡排序、快速排序、堆排序和希尔排序的时空性能和稳定性。
- 直接插入排序,冒泡排序,快速排序,简单选择排序,堆排序,2-路归并排序,文件存储
- 【Java】八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序 、快速排序、归并排序、堆排序和LST基数排序
- Java基础篇之----排序(快速排序、冒泡排序、堆排序、简单选择排序、 希尔排序、直接插入排序)
- java版排序算法简介及冒泡排序以及优化,选择排序,直接插入排序,希尔排序,堆排序,快速排序及其优化前言 2 分类 2 稳定性 3 时间复杂度 4 Java实现版本 5 1、冒泡排序 6 2、选择排序
- 排序算法(堆排序,归并排序,快速排序、选择排序、直接插入排序)
- 排序算法复习(Java实现):插入,冒泡,选择,Shell,快速排序, 归并排序,堆排序,桶式排序,基数排序
- C++实现直接插入排序,折半插入排序,希尔排序,冒泡排序,简单选择排序,快速排序,堆排序
- 牛客网Java刷题知识点之插入排序(直接插入排序和希尔排序)、选择排序(直接选择排序和堆排序)、冒泡排序、快速排序、归并排序和基数排序(博主推荐)
- 菜鸟学编程之三:三种最基本排序算法的实现(冒泡排序、选择排序、直接插入排序)
- 十二.C语言8种排序算法及其实现 1.希尔排序 2.二分插入法 3.直接插入法 4.带哨兵的直接排序法 5.冒泡排序 6.选择排序 7.快速排序 8.堆排序