首页 > 代码库 > 《大话数据结构》学习笔记 排序
《大话数据结构》学习笔记 排序
排序的严格定义:
假设含有n个记录的序列为{r1,r2,......,rn},对应的关键字分别为{k1,k2......,kn},需确定1,2,......,n的一种排列p1,p2,......,pn,使其相应的关键字
满足Kp1<=Kp2<=......Kpn关系,即使得序列成为一个按关键字有序的序列(rpq,rp2,......rpn),此操作称为排序。
排序的稳定性;内排序与外排序(根据记录是否全部放置在内存中)。
根据排序中的主要操作,可以分为插入排序类(直接插入排序—>希尔排序),选择排序类(简单选择排序—>堆排序),交换排序类(冒泡排序—>快速排序),归并排序类(归并排序),后面依次是改进算法,前面被称为简单排序,后面可以称为复杂排序。
为学习排序设计的数据结构:
交换排序类
1.快速排序
快速排序被称为20世纪十大算法之一。基本思想是:通过一趟记录将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,分别对这两部分记录进行排序,使整个序列有序。
明天继续。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。