算法设计与分析实验报告---模板.pdf
《算法设计与分析实验报告---模板.pdf》由会员分享,可在线阅读,更多相关《算法设计与分析实验报告---模板.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实实 验验 报报 告告2016/20172016/2017 学年学年 第一学期第一学期课程名称实验名称实验时间指导单位指导教师学生学院(系)周文超2016算法分析与设计分治策略年10月18日电脑学院软件教学中心季一木班级学号B软件工程电脑学院、软 专业件学院实实 验验 报报 告告实验名称实验名称实验类型实验类型验证分治策略实验学时实验学时2指导教师指导教师实验时间实验时间季一木一、一、 实验目的和任务实验目的和任务1.理解分治法的算法思想, 阅读实现书上已有的部分程序代码并完善程序,加深对分治法的算法原理及实现过程的理解。 2.用分治法实现一组无序序列的两路合并排序和快速排序。要求清楚合并排序
2、及快速排序的基本原理, 编程实现分别用这两种方法将输入的一组无序序列排序为有序序列后输出。2二、二、 实验环境实验环境( (实验设备实验设备) )算法设计与分析课本笔记本电脑3三、实验原理及内容三、实验原理及内容包括操作过程、结果分析等实验原理实验原理运用分治法 :无序-部分有序-整体有序归并排序中 “分” 与 “合” 的过程是结合在一起的, 即每一趟都在做 “分”与“合”的工作,并不是先“分”完再“合”基本程序基本程序(一)两路合并排序#includeclass SortableListpublic: SortableList(int mSize) /构造函数 maxSize = mSize
3、;l = new intmaxSize;n = 0; SortableList()deletel; /析构函数 void Input(); void Merge(int left,int mid,int right); void MergeSort(); void MergeSort(int left,int right); void Output();private: int *l; /动态生成一维数组 int maxSize; /线性表的最大表长 int n; /线性表的实际长度;void SortableList:Input() for(int i = 0;ili;n+; 4void S
4、ortableList:Merge(int left,int mid,int right) int *temp = new intright-left+1; int i = left,j = mid +1,k = 0; while(i=mid)&(j=right)if(li=lj)tempk+=li+;elsetempk+=lj+; while(i=mid)tempk+=li+; while(j=right)tempk+=lj+; for(i = 0,k=left;k=right;)lk+=tempi+;void SortableList:MergeSort() MergeSort(0,n-1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 设计 分析 实验 报告 模板
限制150内