排序复习
来源:互联网 发布:windows 10 powershell 编辑:程序博客网 时间:2024/06/01 09:40
一、简单排序
1、直接插入排序:顾名思义,在已经排好的队列中不断把新的数插到合适的位置中;时间复杂度O(n²),空间复杂度:O(1)
2:冒泡排序:每次从第一个数开始逐个比较相邻的数,若逆序则交换位置;时间复杂度O(n²),空间复杂度:O(1)
3:简单选择排序:每次选出最小的数并和对应位置的数交换位置;时间复杂度O(n²),空间复杂度:O(1)
希尔排序:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量
快速排序:取关键字。通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 (O(n logn))
堆排序:堆排序利用了大根堆(或小根堆)堆顶记录的关键字最大(或最小)这一特征,使得在当前无序区中选取最大(或最小)关键字的记录变得简单。
归并排序:将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。
0 0
- 排序复习
- 复习排序-冒泡排序
- 复习排序-希尔排序
- 复习排序-堆排序
- 复习排序-归并排序
- 快速排序算法复习
- 排序算法复习
- 算法复习--插入排序
- 复习下几种插入排序
- 复习之插入排序
- 复习之选择排序
- 复习之冒泡排序
- 复习之希尔排序
- 复习之快速排序
- 复习之归并排序
- 数据结构复习之【排序】
- 复习--冒泡排序法
- 排序算法复习笔记
- Android IntentService完全解析 当Service遇到Handler
- USB转TTL 与电路板的连接
- HDU3665-Seaside
- 微信开发一笔记2
- Leetcode 4 Median of Two Sorted Arrays
- 排序复习
- C语言 顺序表的实现 (动态)
- Java中的equals和==
- 【QT开发】一些零碎知识
- 51Nod 1066 - Bash游戏(巴什博奕)
- 程序员面试宝典——第五章习题解析
- iOS 证书 刚申请的证书 此签发着无效
- 设置Button或ImageButton的背景颜色的透明度
- 面向对象的过程