电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据结构实验四题目一排序实验报告

14页
  • 卖家[上传人]:壹****1
  • 文档编号:477796041
  • 上传时间:2022-07-21
  • 文档格式:DOCX
  • 文档大小:129.11KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、数据结构实验报告 实验名称: 实验四排序学生姓名:XX班 级:班内序号:学 号:日 期:1实验要求实验目的: 通过选择实验内容中的两个题目之一,学习、实现、对比、各种排序的算法,掌握 各种排序算法的优劣,以及各种算法使用的情况。题目 1: 使用简单数组实现下面各种排序算法,并进行比较。排序算法如下:1、插入排序;2、希尔排序;3、冒泡排序;4、快速排序;5、简单选择排序;6、堆排序;7、归并排序;8、基数排序(选作)9、其他。具体要求如下:1、测试数据分成三类:正序、逆序、随机数据。2、对于这三类数据,比较上述排序算法中关键字的比较次数和移动次数(其中关 键字交换记为 3 次移动)。3、对于这三类数据,比较上述排序算法中不同算法的执行时间,精确到微妙。4、对2和 3的结果进行分析,验证上述各种算法的时间复杂度。5、编写main ()函数测试各种排序算法的正确性。2. 程序分析2.1 存储结构存储结构:数组0A11A22A33A44A55A6NAn-12.2 关键算法分析一、关键算法:1、插入排序a、取排序的第二个数据与前一个比较b、若比前一个小,则赋值给哨兵c、从后向前比较,将其插入在

      2、比其小的元素后d、循环排序2、希尔排序a、将数组分成两份b、将第一份数组的元素与哨兵比较c、若其大与哨兵,其值赋给哨兵d、哨兵与第二份数组元素比较,将较大的值赋给第二份数组e、循环进行数组拆分3、对数据进行编码a、取数组元素与下一个元素比较b、若比下一个元素大,则与其交换c、后移,重复d、改变总元素值,并重复上述代码4、快速排序a、选取标准值b、比较高低指针指向元素,若指针保持前后顺序,且后指针元素大于标准值,后 指针前移,重新比较c、否则后面元素赋给前面元素d、若后指针元素小于标准值,前指针后移,重新比较e、否则前面元素赋给后面元素5、简单选择排序a、从数组中选择出最小元素b、若不为当前元素,则交换c、后移将当前元素设为下一个元素堆排序a、生成小顶堆b、将堆的根节点移至数组的最后c、去掉已做过根节点的元素继续生成小顶堆d、数组倒置7、归并排序a、将数组每次以1/2拆分,直到为最小单位b、小相邻单位数组比较重排合成新的单位c、循环直至完成排序二、代码详细分析:1、插入排序关键代码: 取排序的第二个数据与前一个比较:if(rivri-l) 若比前一个小,则赋值给哨兵: r0=ri; 从后

      3、向前比较,将其插入在比其小的元素后: for(j=i-l;r0rj;j-)rj+l=rj;a+; rj+l=r0; 循环排序2、希尔排序关键代码: 将数组分成两份: d=n/2 将第一份数组的元素与哨兵比较: for(int i=d+l;i=n;i+) 若其大与哨兵,其值赋给哨兵: if(r00&r0=l;d=d/2)3、冒泡排序关键代码: 取数组元素与下一个元素比较: for(int i=l;iri+l) 若比下一个元素大,则与其交换: r0=ri; ri=ri+l; ri+l=r0; 后移,重复: for(int i=l;ibound;i+) 改变总元素值,并重复上述代码: int bound=pos;4、快速排序关键代码: 选取标准值: r0=ri 比较高低指针指向元素,若指针保持前后顺序,且后指针元素大于标准值,后指针前移,重新比较: while(i=flag) j-; 否则后面元素赋给前面元素: ri=rj; 若后指针元素小于标准值,前指针后移,重新比较: while(ij&ri=flag) i+; 否则前面元素赋给后面元素: rj=ri;5、简单选择排序关键代码: 从数组中

      4、选择出最小元素: for(int j=i+l;j=n;j+) if(rjrj+1) j+; if(ri0;i-)coutri;7、归并排序关键代码: 将数组每次以1/2拆分,直到为最小单位:mid=(low+high)/2; 小相邻单位数组比较重排合成新的单位:while(i=m&j=high)if(L.ri=L.rj) tk+=L.ri+;else tk+=L.rj+;while(i=m) tk+=L.ri+;while(j=high) tk+=L.rj+;for(i=low,k=0;i 4 J 2 1青输人将要排序的7T幸(乱序):怜10为 :30丄24勺4亍1010勺-J :.勺 耳,13 6 羁 3 4 . .1 7一 数数数ml:数数数 比比比鬼珞ft认次逖认拧次比比比 5 5 5 5 .-IL-I 1LL1 . 1 r l +IlLl14 4 4 二 “二一 二- 4444 54 54 54 S4 51113 3- - 22HlzfiHnrp匚尸tthLLLh 1 1 结结结-WHM:曰g具曰頁具具匕頁出岀出 一一 剪里口4 口吐吐 口吐 口士 口4 口吐 口-tl 口別

      5、申4#4-.牛片氏仗4-|片反|;-芦4-.|芝 VF4-.午丄:iw# - 正口一3S.-3 3 3 2 12 2 2 2 rrP rrP ttP1111 E3T匚尹sh 士口-B 口士 了-42岀丄出出出丄岀出学土 卡屯匚通乱一匸沌fLr両乱 寸Aflw亠应厅序亠总匡匡厅一予序ffti爭事42、测试条件:按题目要求分别输入同组数据的正序、逆序、随机序列进行测试。3、测试结论:不同的排序方法移动次数比较次数和所用时间都是有所区别的。4. 总结 调试时出现的问题及解决的方法:在调试时,开始在归并排序的时候,虽然代码编译成 功,但调试出现了错误,通过逐步调试发现是由于发生了地址冲突。因此将原本的直接 调用数组改成了结构体数组,通过引用来实现归并排序,最终获得了成功 心得体会:学习、实现、对比、各种排序的算法,掌握各种排序算法的优劣,以及各种 算法使用的情况下一步的改进:改进计数器,寻找其他排序方式。附:源代码#includeusing namespace std;int Cnum = 0;int Mnum = 0;class LEDprivate :int compare;int mov

      6、e;public:void InsertSort(int r , int n) ;/直接插入排序void ShellInsert(int r,int n) ;/希尔排序void BubbleSort(int r,int n); 冒泡排序void Qsort(int r,int i,int j); 快速排序void SelectSort(int r,int n); 选择排序void HeapSort (int r,int n);void MergePass(int r,int r1,int n ,int h);int Partion(int r ,int first ,int end );void Sift(int r,int k , int m);void Merge(int r,int r1,int s,int m,int t);void LED:InsertSort(int r , int n)/插入排序compare = 0;move = 0;for(int i=2;i=n;i+)if(riri-1)r0=ri;move +;ri=ri-1;move +;int j;for(j=i-2;r0rj;j-) compare+; rj+1=rj; move +;+compare;rj+1=r0;move +;+compare;for(int i=1;i=n;i+) coutri ;coutvv比较次数为vvcompare ;移动次数为vvmovevv;void LED:ShellInsert(int r,int n)/希尔排序compare = 0;move = 0;for(

      《数据结构实验四题目一排序实验报告》由会员壹****1分享,可在线阅读,更多相关《数据结构实验四题目一排序实验报告》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.