- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常用内排序算法分析与比较
常用内排序算法分析与比较
摘要:该文在对常用内排序算法基本思想分析的基础上,从算法的稳定性;算法在最好情况下、最坏情况下的交换次数和移动次数;算法的时间复杂度等方面进行了详细的比较分析。
关键词:排序算法;分析;比较
中图分类号:TP312文献标识码:A文章编号:1009-3044(2008)29-0382-04
The Commonly Used in Sort Algorithms Analysis and Compares
BAI Hong-yi
(Ningxia Traffic School,Ningxia 750001,China)
Abstract: This article to commonly used in sort algorithm basic philosophy analysis foundation, from algorithm stability; Algorithm in the best situation, in worst situation exchange number of times and motion number of times.Algorithm aspects and so on time order of complexity have carried on the detailed comparison and analysis.
Key words: sort algorithm; analysis; compare
1 排序的基本概念
排序:将数据表(datalist)中无规律数据按关键码在一定的规律顺次下排列起来。
关键码(key):通常数据对象有多个属性域,即多个数据成员组成,其中有一个属性域可用来区分对象,作为排序依据。该域即为关键码。每个数据表用哪个属性域作为关键码,要视具体的应用需要而定。即使是同一个表,在解决不同问题的场合也可能取不同的域做关键码。
主关键码:如果在数据表中各个对象的关键码互不相同,这种关键码即主关键码。按照主关键码进行排序,排序的结果是唯一的。
次关键码:数据表中有些对象的关键码可能相同,这种关键码称为次关键码。按照次关键码进行排序,排序的结果可能不唯一。
排序算法的稳定性:如果在对象序列中有两个对象r[i]和r[j],它们的关键码k[i] = k[j],且在排序之前,对象r[i]排在r[j]前面。如果在排序之后,对象r[i]仍在对象r[j]的前面,则称这个排序方法是稳定的,否则称这个排序方法是不稳定的。
内排序与外排序:内排序是指在排序期间数据对象全部存放在内存的排序;外排序是指在排序期间全部对象个数太多,不能同时存放在内存,必须根据排序过程的要求,不断在内、外存之间移动的排序。
排序的时间开销:排序的时间开销是衡量算法好坏的最重要的标志。排序的时间开销可用算法执行中的数据比较次数与数据移动次数来衡量。本文给出算法运行时间代价的大略估算一般都按平均情况进行估算。对于那些受对象关键码序列初始排列及对象个数影响较大的,需要按最好情况和最坏情况进行估算。
静态排序:排序的过程是对数据对象本身进行物理地重排,经过比较和判断,将对象移到合适的位置。这时,数据对象一般都存放在一个顺序的表中。
动态排序:给每个对象增加一个链接指针,在排序的过程中不移动对象或传送数据,仅通过修改链接指针来改变对象之间的逻辑顺序,从而达到排序的目的。
2 插入排序(Insert Sorting)
插入排序的基本方法是:每步将一个待排序的对象,按其关键码大小,插入到前面已经排好序的一组对象的适当位置上,直到对象全部插入为止。
2.1 直接插入排序(Insert Sort)
直接插入排序的基本思想是:当插入第i (i≥1) 个对象时,前面的v[0], v[1], …, v[i-1]已经排好序。这时,用v[i]的关键码与v[i-1], v[i-2], …的关键码顺序进行比较,找到插入位置即将v[i]插入,原来位置上的对象向后顺移。
算法分析:
若设待排序的对象个数为curremtsize = n,则该算法的主程序执行n-1趟。
关键码比较次数和对象移动次数与对象关键码的初始排列有关。
最好情况下,排序前对象已经按关键码大小从小到大有序,每趟只需与前面的有序对象序列的最后一个对象的关键码比较 1 次,移动2次对象,总的关键码比较次数为 n-1,对象移动次数为 2(n-1)。
最坏情况下,第i趟时第i个对象必须与前面i -1个对象都做关键码比较,并且每做 1 次比较就要做 1
您可能关注的文档
- 布洛芬与酮替芬联合治疗上呼吸道感染疗效观察及其对炎症因子影响.doc
- 布洛芬对慢性牙周炎老年患者龈沟液中炎症介质影响.doc
- 布洛姆坎普电影对后科技时代反思.doc
- 布洛芬临床应用进展.doc
- 布洛芬分散片药效学研究.doc
- 布洛芬混悬液与对对乙酰氨基酚在小儿高热治疗中临床疗效观察.doc
- 布洛芬混悬液治疗小儿发热效果及安全性分析.doc
- 布洛赫希望哲学视阈下中国梦解读.doc
- 布洛芬缓释胶囊联合护理干预对髋部骨折术后患者疼痛影响.doc
- 布洛陀壮族H型高血压与颈动脉粥样斑块相关性分析.doc
- 8 黄山奇石(第二课时)课件(共22张PPT).pptx
- 22《纸船和风筝》教学课件(共31张PPT).pptx
- 17 松鼠 课件(共23张PPT).pptx
- 23《海底世界》课件(共28张PPT).pptx
- 21《大自然的声音》课件(共18张PPT).pptx
- 第12课《词四首——江城子 密州出猎》课件 2025—2026学年统编版语文九年级下册.pptx
- 第2课《济南的冬天》课件(共42张PPT) 2024—2025学年统编版语文七年级上册.pptx
- 17 跳水 第二课时 课件(共18张PPT).pptx
- 第六单元课外古诗词诵读《过松源晨炊漆公、约客》课件 统编版语文七年级下册.pptx
- 统编版六年级语文上册 22《文言文二则》课件(共27张PPT).pptx
原创力文档


文档评论(0)