调动申请书范文-电视剧 奋斗

太原理工大学算法设计与分析报告实验报告材料
2022年9月8日发
(作者:花开花落终有时)

课程名称:

实验项目:分治法合并排序

实验地点:

专业班级:

学生:

指导教师:

本科实验报告

算法设计与分析

贪心法作业调度

动态规划法求多段图问题

回溯法求n皇后问题

致远楼B50

学号:

2017年月18日

实验1分治法合并排序

一、实验目的

1.掌握合并排序的基本思想

2.掌握合并排序的实现方法

中医养生.学会分析算法的时间复杂度

4.学会用分治法解决实际问题

二、实验容

随机产生一个整型数组,然后用合并排序将该数组做升序排列珍珠泉,要求输出排序前和排序后的

数组薛之谦跨年演唱会。

三、实验环境

Window10;惠普笔记本;Devcpp

四、算法描述和程序代码

#include

#include

#include

#include

usingnamespacestd;

#definerandom(x)(rand()%x);

inta[10];//合并排序函数浙商银行面试。

voidMerge(intleft,intmid,intright){

intt[11];

inti=left,j=mid+1蕾梦娜,k=0;

while((i<=mid)&&(j<=right)){

if(a[i]<=a[j])

t[k++]=a[i++];

else

t[k++]=a[j++];

}

while(i<=mid)

t[k++]=a[i++];

while(j<=right)

t[k++]=a[j++];

for(i=0,k=left;k<=right;)

a[k++]=t[i++];

}//分划函数,并且调用合并函数初一作文网。

voidMergeSort(intleft,intright){

if(left

intmid=((left+right)/2);

MergeSort(left男生短发发型设计,mid);

MergeSort(mid+1电话本怎么用,right);

Merge(left,mid淘宝网购物鞋,right);//调用合并函数。

}

}

intmain(){

inti;

cout<<"排序前的数组为:";

for(i=0;i<10;i++){

a[i]=random(100);//调用random函数,产生10个0-100的随机数。

cout<

}

cout<

MergeSort(0,9);

cout<<"排序后的数组为:";

for(i=0;i<10;i++){

cout<

}

getchar();

return0;

}

五、实验结果截图

六、实验总结

通过编写这个程序牛津高中英语,我进一步了解了分株算法的思想,在实际运用过程当中三字经 朗诵,尤其是在算法

编写方面相对来说比较简单用字母表示数教案,实现起来较为容易。

实验2贪心法作业调度

一、实验目的

1.掌握贪心算法的基本思想

2.掌握贪心算法的典型问题求解

.进一步多级调度的基本思想和算法设计方法

4.学会用贪心法分析和解决实际问题

二、实验容

设计贪心算法实现作业调度,要求按作业调度顺序输出作业序列。如已知n=8同学录留言,效益

p=(5let me go什么意思,0,25微微一笑很倾城杨洋,20可贵的近义词,15梦见发大水,109月号阅兵,5成长不烦恼作文,1)学计算机,时间期限d=(4,2,4,5,6,4放不下 郁可唯,5,7),求该条件下的最大效益。

三、实验环境

Window10;惠普笔记本;Devcpp

四、算法描述和程序代码

#include

usingnamespacestd;

ctintWork[8]={45,0关于汉字的手抄报,28,25王冕墨梅,2慌张的反义词是什么,15,10,1};//所有作业按收益从大到小排序

ctintmaxTime[8]={4,7血顶,,2大班语言活动说课稿,4,6中考复读,7,5};

classHomeWork{

private:

intres[8];

boolflag[8];

intmaxReap;

public:

voiddealWith(){

//遍历所有作业:

inti;

for(i=0;i<8;i++){

intTime=maxTime[i]-1;

if(!flag[Time]){

//如果最大期限那一天还未安排作业,则将当前作业安排在所允许的最大

期限那天

res[Time]=Work[i];

flag[Time]=true;

}

else{

//如果当前作业所允许的最大期限那一天已经安排的其他作业,就向前搜

索空位,将该作业安排进去

for(intj=Time-1;j>=0;j--)

if(!flag[j]){

res[j]=Work[i];

flag[j]=true;

break;

}

}

}

cout<<"作业完成顺序为:";

for(i=0;i<7;i++){

cout<

}

cout<

cout<

intj;

for(j=0;j<7;j++)

maxReap+=res[j];

cout<

}

HomeWork(){

inti;

for(i=0;i<8;i++)

flag[i]=false;

maxReap=0;

}

};

intmain(){

HomeWorka=HomeWork();

th();

getchar();

return0;

}

五、实验结果截图

六、实验总结

通过这个实验让我知道了闫新算法在实际当中的运用,也让我了解到了贪心算法的便捷以及

贪心算法的实用性

实验动态规划法求多段图问题

一、实验目的

1张继科视频.掌握动态规划算法的基本思想

2平安夜吃苹果的由来.掌握多段图的动态规划算法

.选择邻接表或邻接矩阵方式来存储图

4.分析算法求解的复杂度

二、实验容

设G=(V,E)是一个带权有向图北京教堂,其顶点的集合V被划分成k>2个不相交的子集Vi,1

其中V1和Vk分别只有一个顶点s(源)和一个顶点t(汇)设计专业大学排名。图中所有边的始点和终点都

在相邻的两个子集Vi和Vi+1中作文我的乐园400字左右四年级下册。求一条s到t的最短路线。参考课本P124图7-1中的多段

图亲亲小兔,试选择使用向前递推算法或向后递推算法求解多段图问题。

三、实验环境

Window10;惠普笔记本;Devcpp

四、算法描述和程序代码

#include

intV[50][50];

inta[50]晨雪,b[20];

intstatick,n,m;

voidcreateGraph()

{

inti,j,t,s;

printf("请输入结点数:");

scanf("%d",&n);

for(i=0;i<=n;i++)

for(j=0;j<=n;j++)

V[i][j]=0;//初始化V[i][j]=0如何去脸上的斑,表示两结点没有边相连

printf("输入图的层数:");

scanf("%d",&k);

printf("请输入每层的结点数的最大编号:");

a[0]=0;

for(i=1;i<=k;i++)

scanf("%d",&a[i]);

printf("请输入边数:");

scanf("%d",&m);

printf("请输入结点之间的关系(如:结点i和结点j的距离为s,则输入i,jfear,s)n");

for(t=1;t<=m;t++)

{

scanf("%d%d%d",&i,&j描写雨的好段,&s);

V[i][j]=s;

}

}

intBackward()//向后求解法

{

inti,j,t,r;

for(i=a[1]+1;i<=a[2];i++)//把第二层每个结点i与第一层结点s的边距赋值给V[i][i]

V[i][i]=V[1][i];

for(r=2;r

for(i=a[r-1]+1;i<=a[r];i++)//遍历第r层的每个结点i与第(r+1)层结点j之间的边距,

选择此刻最优解

for(j=a[r]+1;j<=a[r+1];j++)

{

if(V[i][j]!=0&&V[j][j]==0)//第一次把此刻路径长度赋给V[j][j]

V[j][j]=V[i][i]+V[i][j];

elseif(V[i][j]!=0&&V[j][j]!=0)

{

if((V[i][i]+V[i][j])

V[j][j]=V[i][i]+V[i][j];

}

}

j=-1;

b[4]=0;

for(r=k-1;r>=2;r--)

for(i=a[r]+1;i<=a[r+1];i++)

{

if(b[r]==j)

break;

for(j=a[r-1]+1;j<=a[r];j++)

if((V[i][i]-V[j][i])==V[j][j])

{

b[r]=j;

break;

}

}

returnV[n][n];

}

intForward()//向前求解法

{

inti,j平面设计师工作总结,t,r;

for(i=a[k-2]+1;i<=a[k-1];i++)//把第二层每个结点i与第一层结点s的边距赋值给V[i][i]

V[i][i]=V[i][a[k]];

for(r=k-1;r>1;r--)//向前逐层求解

for(j=a[r-1]+1;j<=a[r];j++)//遍历第r层的每个结点i与第(r-1)层结点j之间的边距非主流头像图片,

选择此刻最优解

for(i=a[r-2]+1;i<=a[r-1];i++)

{

if(V[i][j]!=0&&V[i][i]==0)//第一次把此刻路径长度赋给V[j][j]

V[i][i]=V[j][j]+V[i][j];

elseif(V[i][j]!=0&&V[i][i]!=0)

{

if((V[j][j]+V[i][j])

V[i][i]=V[j][j]+V[i][j];

}

}

for(r=2;r<=k-1;r++)

for(i=a[r-2]+1;i<=a[r-1];i++)

{

for(j=a[r-1]+1;j<=a[r];j++)

if((V[i][i]-V[i][j])==V[j][j])

{

b[r]=j;

break;

}

i=j;

r++;

}

returnV[1][1];

}

intmain()

{

inti以瞬间为话题的作文,j关于长征的小故事,r地巴唑,sp;

createGraph();

b[1]=1;

b[k]=n;

//sp=Forward();

sp=Backward();

printf("最短路径长度为:%dn"北京奥运会赛程,sp);

printf("最短路径为:");

printf("%d",b[1]);

for(i=2;i<=k;i++)

printf("->%d",b[i]);

return0;

}

五、实验结果截图

六、实验总结

这个实验让我从中懂得了动态规划算法的核心今晚的流星雨,更加收敛的运用动态规划算法秋节各类问

题正能量的句子 人生感悟 努力工作,但动态规划算法最重要的还是方程的选择,这个在实际运用中相当重要生长素的发现。

实验4回溯法求n皇后问题

一、实验目的

1广东农业大学.掌握回溯算法的基本思想

2.通过n皇后问题求解熟悉回溯法

最新平板电脑.使用蒙特卡洛方法分析算法的复杂度

二、实验容

要求在一个8*8的棋盘上放置8个皇后继承法司法解释,使得它们彼此不受“攻击”财务管理实习报告。两个皇后位于棋盘上

的同一行、同一列或同一对角线上中秋赏月作文400字,则称它们在互相攻击南扣肉是什么地方的菜。现在要出使得棋盘上8个皇后

互不攻击的布局。

三、实验环境

Window10;惠普笔记本;Devcpp

四、算法描述和程序代码

#include

#include

usingnamespacestd;

#define8

intres[100][8];

intcountRes=0;

boolPlace(intk数字签名算法,inti,int*x){

for(intj=0;j

if(x[j]==i||abs(x[j]-i)==abs(j-k))

returnfalse;

returntrue;

}

voidQueen(intk年度考核述职报告,intn中国梦手抄报资料,int*x){

for(inti=0;i

if(Place(k,i,x)){

x[k]=i;

if(k==n-1){

for(i=0;i

res[countRes][i]=x[i];

cout<

}

countRes++;

cout<

}else{

Queen(k+1乔布斯英文简介,n,x);

}

}

}

voidQueen(intn,int*x){

Queen(0,n金环日食,x);

}

intmain(){

intx[];

for(inti=0;i<;i++)

*(x+i)=-10;

Queen(横头山,x);

cout<

charshow;

cout<<"是否显示图示?(Y/)"<

cin>>show;

if(show=='Y'||show=='y'){

for(intn=0;n

cout<<"第"<

for(inti=0;i<;i++){

for(intj=0;j<;j++){

if(res[n][i]==j)

cout<<"Q"<<"t";

else

cout<<"*"<<"t";

}

cout<

}

}

}

return0;

}

五、实验结果截图

六、实验总结

在n皇后问题中可以看出回溯算法求出的是这个问题的所有解车猫证书,而不是单纯地求出了这个问

题所产生的最优解介绍我自己作文,这样对于我们在实际运用方面十分实用有关秋天的句子。

喜报范文-angelabay

太原理工大学算法设计与分析报告实验报告材料

点赞(700)

评论列表 共有 11 条评论

垫江租房 3分钟前 回复TA

实验环境Window10;惠普笔记本;Devcpp四

杀出重围 27分钟前 回复TA

实验目的1.掌握合并排序的基本思想2.掌握合并排序的实现方法中医养生.学会分析算法的时间复杂度4.学会用分治法解决实际问题二

霍东龄 7分钟前 回复TA

要求输出排序前和排序后的数组薛之谦跨年演唱会

口蹄疫 26分钟前 回复TA

然后用合并排序将该数组做升序排列珍珠泉

led台灯 3分钟前 回复TA

美的邮箱系统 2分钟前 回复TA

voidMerge(intleft

治疗心脏病的药 10分钟前 回复TA

要求输出排序前和排序后的数组薛之谦跨年演唱会

拉存款 19分钟前 回复TA

要求输出排序前和排序后的数组薛之谦跨年演唱会

1000卢比 10分钟前 回复TA

要求输出排序前和排序后的数组薛之谦跨年演唱会

园林景观设计说明 17分钟前 回复TA

intright){intt[11];inti=left

微信小程序

微信扫一扫体验

立即
投稿
发表
评论
返回
顶部