分治思想以及排序算法

分治思想以及排序算法

ID:43947113

大小:426.00 KB

页数:78页

时间:2019-10-17

分治思想以及排序算法_第1页
分治思想以及排序算法_第2页
分治思想以及排序算法_第3页
分治思想以及排序算法_第4页
分治思想以及排序算法_第5页
资源描述:

《分治思想以及排序算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、分治思想以及排序算法2009/04/28内容分治思想分治排序算法文件直接存取技术2作业讲评从索引进行二分检索操作函数指针345文件直接存取6文件直接存取(RandomFileAccess)fseek(fileName,offset,origin)…filestreamFile*fp;7RandomFileAccessrewind()resetsthecurrentpositiontothestartofthefilerewind(inFile)fseek()allowstheprogrammertomovetoanypositioninthefilefseek

2、(fileName,offset,origin)Origin:SEEK_SET,SEEK_CUR,andSEEK_ENDftell()returnstheoffsetvalueofthenextcharacterthatwillbereadorwrittenftell(inFile);8910排序算法:为什么要排序?有序表的优点?缺点?构造关系。按照什么原则排序?比较?如何进行排序?11基本概念排序(Sorting):简单地说,排序就是把一组记录按照某个(或某几个)字段的值以递增(由小到大)或递减(由大到小)的次序重新排列的过程。(如按年龄从小到大排序)学号姓

3、名年龄性别2004001张佳18男2004002王鹏19男2004003刘宁17女2004004李娟18女2004005陈涛19男2004006李小燕18女12作为比较基础的一个(或多个)字段,称为排序码。排序码可以是数值、符号或符号串。排序码不一定是关键码,关键码可以作为排序码。关键码是唯一的,但排序码不一定唯一。排序码不唯一时,排序的结果可能不唯一。参与排序的对象,称为记录。一个记录可以包含多个字段。如果记录集合中存在多个排序码相同的记录,经过排序后,排序码相同的记录的前后次序保持不变,则这种排序方法称为是稳定的,否则是不稳定的。排序码与关键码(prima

4、rykey)13排序方法可以分为五种∶插入排序、选择排序、交换排序、分配排序和归并排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。本章侧重讨论内排序的方法,但有些方法(特别是归并排序的思想)也可以用于外排序。排序的类型14排序算法的评价评价排序算法好坏的标准执行算法所需的时间执行算法所需要的附加空间算法本身的复杂程度也是考虑的一个因素排序的时间开销是算法好坏的最重要的标志排序的时间开销衡量标准:算法执行中的比较次数(必须)。算法执行中的移动次数(有可能避免)。通常会关注最坏情况和平均情况的开销。15插入排序选择排

5、序:直接选择排序交换排序归并排序直接插入排序二分插入排序起泡排序快速排序表插入排序Shell排序堆排序排序算法16插入排序基本思想:每步将一个待排序的记录,按其排序码大小插到前面已经排序的字序列的合适位置,直到全部插入排序完为止。x顺次选取一个元素插入到合适位置17插入排序的细分类如何插入到已排好序的序列中?直接插入(从后向前找位置后插入)O(n2)二分法插入(按二分法找位置后插入)O(nlog2n)表插入排序(按链表查找位置后插入)O(n2)18直接插入排序基本思想:假定前面m个元素已经排序;取第(m+1)个元素,插入到前面的适当位置;一直重复,到m=n为止

6、。(初始情况下,m=1)19第一趟:{23},[起始只有一个记录]{11,23}11第二趟:{11,23},{11,23,55}55第三趟:{11,23,55},{11,23,55,97}97第四趟:{11,23,55,97},{11,19,23,55,97}19第五趟:{11,19,23,55,97},{11,19,23,55,80,97}80示例:{23,11,55,97,19,80}20直接插入排序的算法中记录的数据结构typedefintKeyType;typedefintDataType;typedefstruct{KeyTypekey;/*排序码字

7、段*/DataTypeinfo;/*记录的其他字段*/}RecordNode;typedefstruct{intn;/*n为文件中的记录个数,n

8、(n2)24直接插入排序算法评价4——

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

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

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