太原理工大学算法实验报告(共12页).docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《太原理工大学算法实验报告(共12页).docx》由会员分享,可在线阅读,更多相关《太原理工大学算法实验报告(共12页).docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上本科实验报告课程名称: 算法设计与分析 实验项目: 算法设计与分析实验 实验地点: 致远楼403 专业班级: 学号: 学生姓名: 指导教师: 2017年 3 月 28日实验一 分治法合并排序一、实验目的 1.掌握合并排序的基本思想 2.掌握合并排序的实现方法 3.学会分析算法的时间复杂度 4.学会用分治法解决实际问题 二、实验内容随机产生一个整型数组,然后用合并排序将该数组做升序排列,要求输出排序前和排序后的数组。 三、实验环境程序设计语言:c+编程工具:microsoft visual studio 2013 四、程序代码#include stdafx.h#incl
2、ude#include#includeSortTestHelper.husing namespace std;templatevoid mergeSort(T arr,int n)_mergeSort(arr,0,n-1);templatevoid _mergeSort(T arr,int l,int r)if(l=r)return;int mid=(l+r)/2;_mergeSort(arr,l,mid);_mergeSort(arr,mid+1,r);if(arrmidarrmid+1)_merge(arr,l,mid,r);templatevoid _merge(T arr,int l,
3、int mid,int r)T *aux=new Tr-l+1;for(int i=l;i=r;i+)auxi-l=arri;int i=l,j=mid+1;for(int k=l;kmid)arrk=auxj-l;j+;else if(jr)arrk=auxi-l;i+;else if(auxi-lauxj-l)arrk=auxi-l;i+;elsearrk=auxj-l;j+;delete aux;int _tmain(int argc, _TCHAR* argv)int n=10;int *arr=SortTestHelper:generateRandomArray(n,0,n);cou
4、t未排序的数组为:;for(int j=0;j10;j+) coutarrj ;coutendl;mergeSort(arr,10);cout经过排序的数组为:;for(int i=0;i9;i+)coutarri ;coutendl;#includestdafx.h#include#include#includeusing namespace std;namespace SortTestHelperint *generateRandomArray(int n,int randL,int randR)assert(randL=randR);int *arr=new intn;for(int i
5、=0;in;i+)arri=rand()%(randR-randL+1)+randL;return arr;五、实验结果截图六、实验总结一定要先找到递归函数式后,设计递归程序实验二 贪心法多机调度一、 实验目的 1. 掌握贪心算法的基本思想 2.掌握贪心算法的典型问题求解 3.进一步多机调度的基本思想和算法设计方法 4.学会用贪心法分析和解决实际问题二、 实验内容设计贪心算法实现作业调度,要求按作业调度顺序输出作业序列。如已知n=8,效益p=(35,30,25,20,15,10,5,1),时间期限d=(4,2,4,5,6,4,5,7),求该条件下的最大效益。三、 实验环境程序设计语言:c+编程
6、工具:microsoft visual studio 2013四、 方法描述和程序代码#include stdafx.h#includeiostreamusing namespace std;int _tmain(int argc, _TCHAR* argv)double work99,time99,t,w;double temp99,usetemp99,a,s=0;int A99;cout作业数为(x99):w;cout作业收益为:endl;for(int i=0;iworki;cout作业收益:endl;for(int i=0;iw;i+)cout worki ;coutendl;cout
7、每个作业的时限为:endl;for(int i=0;itimei;cout作业时限:endl;for(int i=0;iw;i+)cout timei ;coutendl;cout总作业时限为:t;/初始化录入数据for(int i=0;iw;i+)tempi=worki/timei;usetempi=tempi;/平均时间盈利cout作业平均时间盈利排序为:endl;for(int m=0;mw;m+)a=temp0,Am=0; for(int i=0;iw;i+) if(atempi) Am=i;a=tempi; tempAm=0;cout Am ; /作业平均时间盈利排序coutendl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 太原 理工大学 算法 实验 报告 12
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内