排序算法的实现与演示需求分析报告.doc_第1页
排序算法的实现与演示需求分析报告.doc_第2页
排序算法的实现与演示需求分析报告.doc_第3页
排序算法的实现与演示需求分析报告.doc_第4页
排序算法的实现与演示需求分析报告.doc_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

需求分析报告 排序算法的实现与演示系统 班级 10060342X 第十组 姓名 崔杰 43 郭伟 51 刘文忠 50 付耀萱 48一问题的提出1.1概述排序在人们的日常生活和学习、科研、生产等各个方面有着重要的应用。因此掌握常用的排序算法是很必要的。此次设计拟开发一个排序算法演示系统,以提高对排序算法的掌握程度。 本系统实现八种不同排序算法即:快速排序、冒泡排序、堆排序、直接插入排序、希尔排序、直接选择排序、归并排序、基数排序的排序演示。用户可以选择排序算法以演示输入数据在该排序算法下的排序过程。1.2设计的意义 随着计算机技术的发展,各种排序算法不断的被提出。排序算法在计算机科学中有非常重要的意义,且应用很广泛。在以后的发展中排序对我们的学习和生活的影响会逐渐增大,很有必要学习排序知识。因此此次毕业设计一方面使自己掌握排序的知识,另一方面锻炼一下独立开发系统的能力。二设计目的内容和要求2.1设计的目的数据结构课程主要介绍最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。进行数据结构课程设计要达到以下目的:1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。2.2设计内容和要求设计内容:1.实现各种内部排序。包括直接插入排序,冒泡排序,直接选择排序,希尔排序,快速排序,堆排序,归并排序。2.待排序的元素的关键字为整数或(字符)。可用随机数据和用户输入数据作测试比较。比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换以3次计)。3.演示程序以人机对话的形式进行。每次测试完毕显示各种比较指标值的列表,以便比较各种排序的优劣。设计要求:1. 符合课题要求,实现相应功能;2. 要求界面友好美观,操作方便易行;3. 注意程序的实用性、安全性;1.3术语冒泡排序相邻两元素进行比较,如有需要则进行交换,每完成一次循环就将最大元素排在最后(如从小到大排序),下一次循环是将其他的数进行类似操作快速排序使用分治法(Divideandconquer)策略来把一个序列(list)分为两个子序列(sub-lists),从数列中挑出一个元素,称为基准,重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边),递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子序列排序插入排序将一个记录插入到已排好序的有序表(有可能是空表)中,从而得到一个新的记录数增1的有序表选择排序每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完希尔排序将待排序的元素分为多个子序列,使得每个子序列的元素个数相对较少,对各个子序列分别进行直接插入排序,待整个待排序序列“基本有序”后,再对所有元素进行一次直接插入三操作流程图要求演示用户启动系统选择算法排序演示结束显示排序算法代码输入数据四. 设计工作任务及工作量要求1)选择合适的数据结构,并定义数据结构的结构体;2)根据程序所要完成的基本要求和程序实现提示,设计出完整的算法;3)按组讨论、确定设计方案,确定程序模块,并进行明确分工;4)写出课程设计说明书五. 系统用例图5.1功能需求5.2构建用例图 用户排序算法演示用户 输入数据处理数据显示结果 5.2 细化用例图 将用例细化可得到分解的用例: 将“排序演示”用例分解为:A:选择排序算法 从界面上选择要进行排序的排序算法B:确定数据移动顺序 根据选择的排序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论