- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
数据结构中内部排序算法的分析
?
?
摘要:排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素的任意系列,重新排列成一个按关键字有序的序列。然而,在现实的过程中,由于受到排序算法本身的程序设计思想、时间复杂度及稳定性等因素的影响,使初学者在理解上存在很大的问题,本文将具体针对这些问题,提供一些行之有效的解决方法。
论文关键词:排序,算法,稳定性,时间复杂度
排序依据所涉及的存储器不同,分为两大类:一类是内部排序,指的是待排序记录存放在计算机存储器中进行的排序过程;另一类则是外部排序,指的是待排序记录数量很大,以至内存不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。本文将主要讨论内部排序中的直接插入排序、冒泡排序和简单选择排序三种排序,并简要的分析一下快速排序的稳定性。
与其它算法相比,排序也是数据结构中的一种算法,只不过它所实现的功能比较具体,即实现无序系列的排序。同样,它也涉及到一种算法的设计思想、参数的引用及时间复杂度等相关因素;与其它算法有所不同,排序算法涉及到了稳定性与不稳定性的概念,即关键字相同,排序后它们的顺序不变的排序方法称为稳定排序,顺序有可能发生改变的排序方法称为不稳定排序。例如,,序列中有两个2,标记为。用一种排序方法进行排序,排序后,若始终在的前面,则称稳定的排序,若有可能在的后面,则称不稳定的排序。
排序按排序过程中依据的不同原则对内部排序进行分类,大致可分为插入排序、交换排序、选择排序、归并排序和计数排序等五类。其实现过程主要进行比较和移位两种操作,即比较关键字的大小,将记录从一个位置移动到另一个位置,最后得到一个有序序列。学习排序的过程,其关键在于理解排序的思想,分析各种排序的特点,从分类到实现,利用流程来实现过程。
1几种排序算法的实现过程
内部排序按其算法设计思想的不同,可分为直接插入排序、折半插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序和基数排序,其中插入的排序有直接插入排序、折半插入排序和希尔排序三种,交换的排序有冒泡排序和快速排序,选择的排序有简单选择排序和堆排序。
从排序的稳定性来看,稳定的排序有:直接插入排序、折半插入排序、冒泡排序和归并排序,不稳定的排序有:希尔排序、快速排序、简单选择排序和堆排序;从排序算法的时间复杂度来看,直接插入排序、折半插入排序、冒泡排序、简单选择排序的时间复杂度为,希尔排序的时间复杂度为,快速排序、堆排序和归并排序的时间复杂度为。
本文将从排序算法的设计思想、流程图、程序设计、稳定性和时间复杂度等五个方面具体分析,主要介绍直接插入排序、冒泡排序、快速排序、简单选择排序和堆排序。此外,在程序的设计过程中,将引用一个数组啊a[n]来保存排序序列,排序序列中的所有元素均为整型元素,且均按把序列排成升序的过程来实现。
1.1直接插入排序
1.1.1程序设计思想
直接插入排序可把序列分成已排序列和未排序列两个部分,最开始时,第一个元素为已排序列,后面的所有元素均为未排序列,在排序的过程中,是把前面的序列看成一个已经排好的序列,把后面的元素逐个插入到前面已排好的序列中。例如序列:25,17,8,49,23,15,20。
一次排序,25是一个已排好的序列,17,8,49,23,15,20是未排序列,选择未排序列中第一个数17插入到前面的已排序列中,形成序列:17,25,8,49,23,15,20。此时17,25是已排序列,8,49,23,15,20是未排序列。
二次排序,选择未排序列中第一个数8插入到前面的已排序列,形成已排序列8,17,25,未排序列49,23,15,20,此时整个序列为8,17,25,49,23,15,20。依次类推,直至整个序列有序。
1.1.2程序流程图
图1直接插入排序流程图
1.1.3程序设计
InsertSort(inta[n])//a[i-1]是已排序列的最后一个元素,a[i]是未
{inti,j,b;//排序列的第一个元素,实质是把a[i]插入到
for(i=1;j
?
?
-全文完-
您可能关注的文档
- 提升石油管道工程建设质量水平的路径探讨.docx
- 天猫美妆中促分分钟破千万目标建立行业新标杆.docx
- 探究电厂锅炉水质常规化验方法及质量控制.docx
- 任务驱动法在小学信息技术教学中的应用.docx
- 权责发生制在高校会计核算中的应用研究.docx
- 浅议人格权中的平等竞争权及其救济.docx
- 市政路桥现场施工管理难点及解决方法研究.docx
- 浅析变电一次检修和设备安全运行管理.docx
- 市政园林景观绿化施工技术管理探讨.docx
- 数据挖掘技术在软件工程中的应用探讨.docx
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
最近下载
- 二年级家长会班主任发言稿 VIP
- 2023-2024学年上海市位育中学八年级上学期期中考试英语试卷含详解.docx VIP
- 【自做】白雪公主PPT正常版.ppt
- 名著阅读《群英会蒋干中计》课件精品课件(选自罗贯中《三国演义》;34页).pptx VIP
- 2023-2024学年北京某中学八年级上学期期中考试英语试卷(含详解).pdf VIP
- 手术患者意外伤害预防.pptx
- 2024年初中信息技术学业水平合格性考试题库含答案.pdf
- 2024-2025学年小学科学一年级上册(2024)教科版(2024)教学设计合集.docx
- 2024全国中考语文试题分类汇编:记叙文阅读.pdf VIP
- 英语国家概况100问及答案.doc
文档评论(0)