②快速排序:是由冒泡排序改进而得的。 在 冒泡排序过程中, 只对相邻的两个记录进行比较, 因此每次交换两个相邻记录时只能消除一个逆序。 如果能通过两个(不相邻)记录的一次交换,消除多个逆序, 则会大大加快排序的速度。 快速排序方法中的一次交换可能消除多个逆序。
特点:(I) 记录非顺次的移动导致排序方法是不稳定的。
(2)排序过程中需要定位表的下界和上界,所以适合用于顺序结构,很难用千链式结构。
(3) 当n较大时,在平均情况下快速排序是所有内部排序方法中速度最快的一种,所以其适合初始记录无序、 n较大时的情况。
3.选择排序①简单选择排序也称作直接选择排序:以第一个数进行比较,然后找到里面最小的那一个数后,调换位置,紧接着第二个数开始
②树形选择排序:又称锦标赛排序(Tournament Sort), 是一种按照锦标赛的思想进行选择排序的方法。【从树的叶子到根,两两比较,换位】
③堆排序:是一种树形选择排序,在排序过程中,将待排序的记录 r[l..n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系,在当前无序的序列中选择关键字最大(或最小)的记录。【调整堆、建初堆】
4.归并排序:将两个或两个以上的有序表合并成一个有序表
特点:(1)是稳定排序。
(2)可用于链式结构, 且不需要附加存储空间,但递归实现时仍需要开辟相应的递归工作栈。
5.基数排序:多关键字的排序、链式基数排序
内容掌握程度比较低,在课余时间去理解