欢迎来到天天文库
浏览记录
ID:18735884
大小:199.50 KB
页数:22页
时间:2018-09-22
《排序综合数据结构课程设计论文new》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、天津职业技术师范大学课程设计任务书理学院数学0902班学生(16)马新月课程设计课题:16、综合排序:利用随机函数随机产生N=200个随机整数,对这些数进行多种方法的排序。要求:1)至少采用三种方法实现上述问题求解(插入排序、希尔排序、冒泡排序、快速排序、堆排序、归并排序)。把排序后的结果存在不同的文件中。2)记录不同排序方法的运行时间,找出自己排序方法中最快的两种方法。3)统计每种算法所用的比较次数和交换次数,以列表显示出来。一、课程设计工作日自2012年2月21日至2012年3月4日二、同组学生:马新月三、课程设计任务要求(包括课题来源、类型、目的和意义、基本
2、要求、完成时间、主要参考资料等):课题来源:教师提供课题类型:设计课程设计的目的1)使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。2)使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。3)使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力1天津职业技术师范大学课程设计评审表学院班学生设计任务完成情况及指导教师评语答辩情况评定成绩成绩:指导教师签字:日期:教研室主任:院长签字:日期:日期:21-21-1概要1.1设计目的数据结构与算法课程主要是研究
3、非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。学习数据结构与算法是为了将实际问题中涉及的对象在计算机中表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。1)本演示程序对以下6种常用的内部排序算法进行实测比较:冒泡排序,直接插入排序,简单选择排序,快速排序,希尔排序,堆排序;2)待排序表的元素的关键字
4、为整数。比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换记为3次移动);3)演示程序以以用户和计算机的对话方式执行,在计算机终端上显示提示信息,对随机数组进行排序,并输出比较指标值;4)最后对结果作出简单分析。1.2预期目标按要求输入不同的操作。输入后,根据不同的输入进行不同的操作,最终达到对各算法进行比较的目的。通过此次课程设计主要达到以下目的了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练用系
5、统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。2排序算法2.1各排序算法的特点1)冒泡排序21-21-冒泡排序的基本概念是:依次比较相邻的两个数,将大数放在前面,小数放在后面。即首先比较第1个和第2个数,将大数放前,小数放后。然后比较第2个数和第3个数,将大数放前,小数放后,如此继续,直至比较最后两个数,将大数放前,小数放后,此时第一趟结束,在最后的数必是所有数中的最小数。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数),将大数放前,小数放后,一直比较到最小数前的一对相
6、邻数,将大数放前,小数放后,第二趟结束,在倒数第二个数中得到一个新的最小数。如此下去,直至最终完成排序。由于在排序过程中总是大数往前放,小数往后放,相当于气泡往上升,所以称作冒泡排序。2)直接插入排序每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入到有序表中;第二趟把第三个数据与前两个数从后向前扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。3)简单选择排序(1)在一组元素V[i]~V[n-1]中选择具有最小排序码的元素(2)若它不是这组元素
7、中的第个元素,则将它与这一组元素中的第一个元素对调;(3)在这组元素中剔除这个具有最小排序码的元素,在剩下的元素V[i+1]~V[n-1]中重复执行第(1)(2)步,直到剩余元素只有一个为止。4)快速排序首先检查数据列表中的数据数,如果小于两个,则直接退出程序。如果有超过两个以上的数据,就选择一个分割点将数据分成两个部分,小于分割点的数据放在一组,其余的放在另一组,然后分别对两组数据排序;5)希尔排序先取一个正整数d18、止;6)堆
8、止;6)堆
此文档下载收益归作者所有