文档介绍:学号:
课程设计
题目
学院
专业
班级
姓名
指导教师
年
月
日
课程设计任务书
学生姓名: 专业班级:
指导教师: 工作单位:
题目: 排序码比较次数、记录移动次数的定量分析
初始条件:
理论:学习了《数据结构》课程,掌握了一种计算机高级语言。
实践:计算机技术系实验中心提供计算机及软件开发环境。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1、系统应具备的功能:
(1)选择书中3~5个排序算法,对它们稍作修改,即在算法中插入关于排序码比较次数和元素移动次数的统计语句。用修改后的排序算法对同一个随机数序分别进行排序,统计排序过程中排序码的比较次数和元素的移动次数。
(2)至少分析5组排序码。每组排序码由键盘输入或者随机函数产生。
2、数据结构设计;
3、主要算法设计;
4、编程及上机实现;
5、撰写课程设计报告,包括:
(1)设计题目;
(2)摘要和关键字(中文和英文);
(3)正文,包括引言、需求分析、数据结构设计、算法设计、有关技术的讨论、设计体会等;
(4)结束语;
(5)参考文献。
时间安排: 2013年12月16日--25日
12月19日查阅资料
12月20日系统设计
12月21日-22日编程并上机调试
12月23日撰写报告
12月24日验收程序,提交设计报告书
指导教师签名: 2013年 12月23日
系主任(或责任教师)签名: 年月日
摘要:该程序主要用与解决同一排序码在不同的算法的情况下执行的效率与速度,在比较的过程得出最好的方案,并且理解输入对于排序的执行结果和复杂度的影响。本程序是以VC++,并多用面向对象程序设计语言C++来实现的。
关键词: 起泡排序直接插入排序简单选择排序快速排序
Abstract:The program is primarily used for the same sequence of number have different speed and efficiency In the process parison, it is concluded that the best solution and understand input for sorting the results and the impact plexity
. This procedure is based on vc + + development tools, and use of object-oriented programming language c + + to achieve
Keyword: Bubble Sort Bubble Sort simple selection sort Quicksort
1 引言
数据结构是计算机程序设计的重要理论技术基础,它不仅是计算机学科的核心课称,而且已成为其他理工专业的热门选修课。
数据结构是一门专业选技术基础科。一方面,它要求我们学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及其相应的算法,并初步掌握算法的时间分析和空间分析的技术;另一方面,数据结构的学习过程也是复杂程序设计的训练过程,要求我们编写的程序结构清楚和正确易读,复合软件工程的规范,并培养我们的数据抽象能力。本次课程设计就是对数据结构中的排序及其算法的应用。
排序是计算机程序设计中的一项重要操作,它的功能是讲一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。为了查找方便,我们通常希望计算机中的表是按关键字有序的。因为有序的顺序表可以采用查找效率较高的折半查找法,而无序的顺序表只能进行顺序查找,效率很低。因此,学习和研究各种排序算法是计算机工作者的重要课题之一。
由于待排序的记录数量不同,使得排序过程中涉及的存储器不同,可将排序分为内部排序和外部排序两大类。此课程设计的内容是对内部排序的应用。
2 需求分析
根据要求,系统应该具备以下两种功能:
~5个内部排序的算法,并对它们稍作修改,即在算法中插入关于排序码比较次数和元素移动次数的统计的语句。并用修改后的排序算法对同一个随机数序分别进行排序,统计在此次排序过程中排序码的比较次数和元素的移动次数。
,且每组排序码由键盘输入或者随机函数产生。
针对以上两个方面需求,对其仔细分析并得到的解决方案即程序应具备的功能如下:
要对同一个随机数序分别进行排序,并统计在排序过程中排序码的比较次数和元素的移动次数,就需要建立一个共同的输出函