数据结构课程设计-排序算法集成

上传人:hs****ma 文档编号:511988260 上传时间:2022-08-19 格式:DOCX 页数:21 大小:225.87KB
返回 下载 相关 举报
数据结构课程设计-排序算法集成_第1页
第1页 / 共21页
数据结构课程设计-排序算法集成_第2页
第2页 / 共21页
数据结构课程设计-排序算法集成_第3页
第3页 / 共21页
数据结构课程设计-排序算法集成_第4页
第4页 / 共21页
数据结构课程设计-排序算法集成_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《数据结构课程设计-排序算法集成》由会员分享,可在线阅读,更多相关《数据结构课程设计-排序算法集成(21页珍藏版)》请在金锄头文库上搜索。

1、WORD格式xx 大学本科生课程设计论文题目:排序算法集成学生*:学号:专业:计算机班级:指导教师:2021年 5月 20日专业资料整理WORD格式* 大学课程设计任务书课程名称数据构造课程设计设计题目排序算法集成指导教师时间2021.5.20-2021.5.30一、教学要求1. 掌握数据构造与算法的设计方法,具备初步的独立分析和设计能力2. 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等根本方法和技能3. 提高综合运用所学的理论知识和方法独立分析和解决问题的能力4. 训练用系统的观点和软件开发一般标准进展软件开发,培养软件工作者所应具备的科学的工作方法和作风二、设计资料及参数每个

2、学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。排序算法集成定义动态数组类或类模板以表示待排序数据,在此根底上实现多种排序算法。要求设计函数模板来实现以下排序算法:直接插入排序冒泡排序简单项选择择排序希尔排序快速排序堆排序并设计主函数测试动态数组类或类模板,测试各排序算法的函数模板。三、设计要求及成果1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告四、进度安排资料查阅与讨论1 天系统分析 2 天系统的开发与测试5 天编写课程设计说明书和验收2 天五、评分标准

3、1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,那么所有雷同的所有人均判为不及格。4. 根据辩论的情况,应能够以清晰的思路和准确、简练的语言表达自己的设计和答复教师的提问六、建议参考资料专业资料整理WORD格式1数据构造C 语言版严蔚敏、吴伟*编清华大学2004.112数据构造课程设计案例精编用C/C+描述,李建学等 编著,清华大学2007.23. 数据构造 :用面向对象方法与C+ 语言描述,殷人昆主编, 清华大学2007.6专业资料整理WORD格式目录目录.3引言.4一算法的设计思想 .4二算法的

4、流程图 .4三算法的设计与分析 .53.1建立数组 .53.2算法思想 .错误!未定义书签。3.3主要函数 .63.4主要函数声明 .错误!未定义书签。3.5主要变量说明 .10四程序源代码 .11五运行结果与分析测试.18六总结收获与体会 .20七参考文献 .21专业资料整理WORD格式引言本课程设计主要解决几种不同排序方法以及在各种不同排序的过程中某一趟的具体排序结果。通过观察各种排序的具体排序过程,加深对不同排序方法的认识,加深对不同排序算法的掌握。一算法设计的思想数据构造是与数据相关的一门重要学科, 不管是想通过升学考试还是想把程序编得有水平, 都要对这门学科下一点功夫才行。 而课程设

5、计是让我们更好的掌握这门学科的重要方式。排序是计算机程序中的一种重要操作,它的功能是将一个数据元素 或记录的任意序列重新排列成一个按关键字有序的序列 。而内部排序中包括各种不同的排序,本课程设计主要讨论的是插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序。完成这几种排序最主要的就是弄好不同排序的算法, 只有深刻的认识了这不同排序的算法,才能了解不同排序的优点与缺点。通过对不同排序算法的分析,了解它们的优劣特点。据对题目的分析,首先要根据插入排序、希尔排序、冒泡排序、快速排序、选择排序、 堆排序的不同算法, 写出实现各个排序算法的函数。然后通过在主函数中对不同排序的子函数的调用来实现对某

6、个序列的具体排序。内部排序的方法很多,但就其全面性而言,很难提出一种被认为是最好的方法,每一种方法都有各自的优缺点,适合不同的环境。通常,在排序的过程中需进展两种根本操作: 1比较两个关键字的大小;2将记录从一个位置移动至另一位置。前一个操作对大多数排序方法来说都是必要的,而后一个操作可以通过改变记录的存储方式来予以防止。专业资料整理WORD格式二算法的流程图专业资料整理WORD格式如图 2.1开场建立数组建立各排序函数设计 main 函数完毕图 2.1 主要设计思想流程图三算法的设计与分析3.1 建立数组在程序中建立一个数组data ,用于存储程序运行中的数据。3.2 算法思想 1插入排序插

7、入排序的主要算法思想是将一个记录插入到已排好的有序表中,从而得到一个新的、记录数增1 的有序表。( 2希尔排序希尔排序的根本思想是先将整个待排记录列分割成假设干子序列分别进专业资料整理WORD格式行直接插入排序,待整个序列中的记录“根本有序时,再对全体记录进展一次直接插入排序。 3冒泡排序函数冒泡排序首先将第一个记录的关键字和第二个记录的关键字进展比较,假设为逆序那么将两个记录交换,然后比较第二个记录和第三个记录的关键字,依次类推。 4选择排序函数选择排序的根本思想是: 每一趟在 n-i+1(i=1,2,n-1) 个记录中选取关键字最小的记录作为有序序列中第i 个记录。 5堆排序先将一个序列进

8、展建堆, 然后将大顶堆的第一个元素和最后一个元素对换或将小顶堆的最后一个元素和第一个元素对换 ,再对除最后一个元素的序列进展求大顶堆 或对除第一个元素的序列进展求小顶堆 ,依次类推。3.3 主要函数 1插入排序函数void insertion_sort(int,int);/*插入排序 */ 2希尔排序函数void shell_sort(int,int);/*希尔排序 */ 3冒泡排序函数void bubble_sort(int,int);/*冒泡排序 */ 4选择排序函数void select_sort(int,int);/*选择排序 */ 5将数据调整为堆的函数void adjust(int,int);/*将数据调整为堆树 */专业资料整理WORD格式3.4 主要函数声明专业资料整理WORD格式插入排序插入排序的主要算法思想是将一个记录插入到已排好的有序表中,从而得到一个新的、记录数增1 的有序表。void insertion_sort(int data,int size)/* 插入排序 */int base,com

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号