实验课程算法分析与设计_第1页
实验课程算法分析与设计_第2页
实验课程算法分析与设计_第3页
实验课程算法分析与设计_第4页
实验课程算法分析与设计_第5页
全文预览已结束

下载本文档

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

文档简介

1、实验课程:算法分析与设计 实验名称:几种排序算法的平均性能比较 (验证型实验)实验目标:(1) 几种排序算法在平均情况下哪一个更快。(2) 加深对时间复杂度概念的理解。实验任务:(1)实现几种排序算法(selectionsort, insertionsort,bottomupsort,quicksort, 堆排序)。对于快速分类,SPLIT中的划分元素采用三者A(low),A(high),A(low+high)/2)中其值居中者。(2)随机产生20组数据(比如n=5000i,1i20)。数据均属于范围(0,105)内的整数。对于同一组数据,运行以上几种排序算法,并记录各自的运行时间(以毫秒为单

2、位)。(3)根据实验数据及其结果来比较这几种分类算法的平均时间和比较次数,并得出结论。实验设备及环境:PC;C/C+等编程语言。实验主要步骤:(1) 明确实验目标和具体任务;(2) 理解实验所涉及的几个分类算法;(3) 编写程序实现上述分类算法;(4) 设计实验数据并运行程序、记录运行的结果;(5) 根据实验数据及其结果得出结论;(6) 实验后的心得体会。问题分析(包括问题描述、建模、算法的基本思想及程序实现的技巧等):本实验采用Microsoft Visual Studio 2008实现(由于采用CString的MakeReverse()函数将最后的周游路径输出是格式及数据发生了变化,所以请

3、原谅,我没将其从头到尾输入,而是从尾到头输出,我知道要实现从头到尾输入是比较容易实现的,鉴于某些原因,我就没实现了,在此请老师谅解)本算法,采用递归的方式,同时运用到STL的stack来实现回溯。基本周游思路是分8个方向进行,如果可以,最终找到解,输出。本实验棋盘大小采用宏定义,可由用户进行修改其大小。#define N 5#define M 5框架设计如下图:开始是否合法起点? 周游成功否?否是 输出退出? 结束是输入?否是 是是重输?是否8种周游方式进行递归选择实验数据及其结果(可用图表形式给出):N*M=5*5时N*M=6*6时当N*M=8*8时实验结果分析及结论:当为奇数矩阵时出现可能没有通路的结果。其他的正常实验自我评价及心得体会:此算法好像效率不高,当为8*8时,就出现耗时很长,不知是否我的逻辑错误,又很难找,请老师给予指点,

温馨提示

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

评论

0/150

提交评论