首页 > 代码库 > 《大话数据结构》学习笔记 排序

《大话数据结构》学习笔记 排序

 排序的严格定义:

 假设含有n个记录的序列为{r1,r2,......,rn},对应的关键字分别为{k1,k2......,kn},需确定1,2,......,n的一种排列p1,p2,......,pn,使其相应的关键字

满足Kp1<=Kp2<=......Kpn关系,即使得序列成为一个按关键字有序的序列(rpq,rp2,......rpn),此操作称为排序。

 排序的稳定性;内排序与外排序(根据记录是否全部放置在内存中)。

 根据排序中的主要操作,可以分为插入排序类(直接插入排序—>希尔排序),选择排序类(简单选择排序—>堆排序),交换排序类(冒泡排序—>快速排序),归并排序类(归并排序),后面依次是改进算法,前面被称为简单排序,后面可以称为复杂排序

为学习排序设计的数据结构:

 

交换排序类

1.快速排序

快速排序被称为20世纪十大算法之一。基本思想是:通过一趟记录将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,分别对这两部分记录进行排序,使整个序列有序。

明天继续。