排序算法
概述
- 排序算法分为内部排序和外部排序,内排序是在排序整个过程中,待排序的所有记录全部被放置在内存中.外排序是由于排序的记录个数太多,不能同时放置在内存,整个排序过程需要在内外存之间多次交换数据才能进行.
- 内部排序又分为
.
插入排序,交换排序,选择排序,归并排序,基数排序
- 外部排序分为多路归并排序.
- 插入排序分为直接插入排序, 折半插入排序, 希尔排序.
- 交换排序分为冒泡排序, 快速排序.
- 选择排序分为简单选择排序, 堆排序.
插入排序
概述
- 插入排序是将无序子序列中的一个或几个记录插入有序序列, 从而增加记录的有序子序列的长度.
- 直接插入排序是将当前值直接插入到已经排序好的序列中.
- 折半插入排序是采用二分法查找插入位置.
- 希尔排序是
交换排序
概述
- 交换排序是通过交换无序序列中的记录从而得到其中关键字最小或最大的记录, 并将它加入到有序子序列中, 从而增加记录的有序子序列的长度.
- 冒泡排序是交换相邻的位置,每次使最大的记录归位.
- 快速排序是
选择排序
概述
- 选择排序是从记录的无序子序列中选择关键字最小或最大的记录, 并将它加入有序子序列中, 从而增加记录的有序子序列的长度.
- 简单选择排序是每次找出最小的记录, 让其归位.
- 堆排序是