第10章_内排序

第10章_内排序

ID:33943662

大小:4.31 MB

页数:50页

时间:2019-02-28

第10章_内排序_第1页
第10章_内排序_第2页
第10章_内排序_第3页
第10章_内排序_第4页
第10章_内排序_第5页
资源描述:

《第10章_内排序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、李云清杨庆红揭安全PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.com.cn第第1010章章内排序内排序排序是数据处理过程中经常使用的一种重要的运算,排序的方法有很多种,本章主要讨论内排序的各种算法,并对每个排序算法的时间和空间复杂性以及算法的稳定性等进行了讨论。1010..11排排序序的基的基本概念本概念假设一个文件是由n个记录R,R,…,R组成,12n所谓排序就是以记录中某个(或几个)字段值不减(或不增)的次序将这n个记录重新排列,称该字段为排序码。能唯一标识一个记录的字段称为关键码,关键码可以作为排序码,但排序码不一定要是关键码。PDF文

2、件使用"pdfFactoryPro"试用版本创建www.fineprint.com.cn按排序过程中使用到的存储介质来分,可以将排序分成两大类:内排序和外排序。内排序是指在排序过程中所有数据均放在内存中处理,不需要使用外存的排序方法。而对于数据量很大的文件,在内存不足的情况下,则还需要使用外存,这种排序方法称为外排序。排序码相同的记录,若经过排序后,这些记录仍保持原来的相对次序不变,称这个排序算法是稳定的。否则,称为不稳定的排序算法。PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.com.cn评价排序算法优劣的标准:首先考虑算法执行所需的时间,这

3、主要是用执行过程中的比较次数和移动次数来度量;其次考虑算法执行所需要的附加空间。当然,保证算法的正确性是不言而喻的,可读性等也是要考虑的因素。PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.com.cn排序算法如未作特别的说明,使用的有关定义如下:/*常见排序算法的头文件,文件名table.h*/#defineMAXSIZE100/*文件中记录个数的最大值*/typedefintkeytype;/*定义排序码类型为整数类型*/typedefstruct{为了方便,r[0]一般不用keytypekey;于存放排序码,在一些排序/*此处还可以定义记录

4、中除排序码外的其它域*/算法中它可以用来作为中间}recordtype;/*记录类型单元的定存放临时义*/数据。lengthtypedefstruct{域是待排序的记录个数,它必须不大于MAXSIZE,这样,recordtyper[MAXSIZE+1];第1~length个记录的排序码intlength;/*待排序文件中记录的个数分别存于*/}table;/*待排序文件r[1]类型.ke*y*/~r[length].key中PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.com.cn1010..22插入插入排序排序插入排序的基本方法是:将待排序文

5、件中的记录,逐个地按其排序码值的大小插入到目前已经排好序的若干个记录组成的文件中的适当位置,并保持新文件有序。10.2.110.2.1直接插直接插入入排序排序直接插入排序算法的思路是:初始可认为文件中的第1个记录己排好序,然后将第2个到第n个记录依次插入已排序的记录组成的文件中。在对第i个记录R进行i插入时,R,R,…,R已排序,将记录R的排序码12i-1ikey与已经排好序的排序码从右向左依次比较,找到Rii应插入的位置,将该位置以后直到R各记录顺序后移,i-1空出该位置让R插入。iPDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.com.cn一

6、组记录的排序码分别为:312,126,272,226,28,165,123初始时将第1个排序码作为已经排好序的,把排好序的数据记录放入中括号[]中,表示有序的文件,剩下的在中括号外,如下所示:[312],126,272,226,28,165,123设前3个记录的排序码已重新排列有序,构成一个含有3个记录的有序文件:[126,272,312],226,28,165,123现在要将第4个排序码226插入!PDF文件使用"pdfFactoryPro"试用版本创建www.fineprint.com.cn[126,272,312],226,28,165,123现在要将第4个排序码226插入!

7、将待插入的排序码226和已经有序的最后一个排序码312比较,因为待插入的排序码226小于312,所以226肯定要置于312的前面,至于是否就是置于312的前一个位置,此时还不能确定,需要继续向左比较;将所有大于待插入排序码226的那两个排序码312和272依次后移一个位置,在空出的位置插入待排序的排序码226,得一含有4个记录的有序文件:[126,226,272,312],28,165,123PDF文件使用"pdfFactoryPro"试用版本创建www.finepr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。