欢迎来到天天文库
浏览记录
ID:30471134
大小:17.53 KB
页数:8页
时间:2018-12-30
《链表存储数组排序实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划链表存储数组排序实验报告 实验2链表 实验2链表 数据结构实验报告 实验名称:实验四排序 学生姓名: 班级: 班内序号: 学号: 日期:XX年12月21日 1、实验要求 题目2 使用链表实现下面各种排序算法,并进行比较。 排序算法: 1、插入排序 2、冒泡排序 3、快速排序 4、简单选择排序 5、其他 要求: 1、测试数据分成三类:正序、逆序、随机数据。目的-通过该培
2、训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 2、对于这三类数据,比较上述排序算法中关键字的比较次数和移动次数。 3、对于这三类数据,比较上述排序算法中不同算法的执行时间,精确到微秒。 4、对2和3的结果进行分析,验证上述各种算法的时间复杂度。 编写测试main()函数测试线性表的正确性。 2、程序分析 存储结构 说明:本程序
3、排序序列的存储由链表来完成。 其存储结构如下图所示。 (1)单链表存储结构: 结点结构structNode { intdata; Node*next; }; 示意图: 关键算法分析 一:关键算法 (一)直接插入排序voidLinkSort::InsertSort()目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训
4、计划 直接插入排序是插入排序中最简单的排序方法,其基本思想是:依次将待排序序列中的每一个记录插入到一个已排好的序列中,直到全部记录都排好序。 算法自然语言 1.将整个待排序的记录序列划分成有序区和无序区,初始时有序区为待排序记录序列中的第一个记录,无序区包括所有剩余待排序的记录; 2.将无须去的第一个记录插入到有序区的合适位置中,从而使无序区减少一个记录,有序区增加一个记录; 3.重复执行2,直到无序区中没有记录为止。 源代码 voidLinkSort::InsertSort()//从第二个元素开始,寻
5、找前面那个比它大的 { Node*P=front->next;//要插入的节点的前驱 while(P->next) { Node*S=front;//用来比较的节点的前驱 while(1) { CompareCount++; if(P->next->datanext->data)//P的后继比S的后继小则插入目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制
6、定安保从业人员的业务技能及个人素质的培训计划 { 要插入 } } }insert(P,S);break;}S=S->next;if(S==P){P=P->next;break;}//若一趟比较结束,且不需 (3)时间和空间复杂度 最好情况下,待排序序列为正序,时间复杂度为O。 最坏情况下,待排序序列为逆序,时间复杂度为O。 直接插入排序只需要一个记录的辅助空间,用来作为待插入记录的暂存单元和查找记录的插入位置过程中的“哨兵”。 直接插入排序是一种稳定的排序方法。直接插入排序算法简单容易实现,当序列
7、中的记录基本有序或带排序记录较少时,他是最佳的排序方法。但当待排序的记录个数较多时,大量的比较和移动操作使直接插入排序算法的效率减低。 插入到合适位置 直接插入排序过程 冒泡排序voidLinkSort::BubbleSort() 冒泡排序是交换排序中最简单的排序方法,其基本思想是:两两比较相邻记录的关键码,如果反序则交换,直到没有反序的记录为止。本程序采用改进的冒泡程序。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司
8、新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 算法自然语言 1.将整个待排序的记录序列划分成有序区和无序区,初始状态有序区为空,无序区包括所有待排序的记录。 2.对无序区从前向后依次将相邻记录的关键码进行比较,若反序则交换,从而使得关键码小的记录向前移,关键码大的记录向后移。 3.
此文档下载收益归作者所有