算法分析及设计实验报告_第1页
算法分析及设计实验报告_第2页
算法分析及设计实验报告_第3页
算法分析及设计实验报告_第4页
算法分析及设计实验报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

排序问题求解实验日记实验题目:排序问题求解实验目的:1)以排序(分类)问题为例,把握分治法的大体设计谋略。2)熟练把握一样插入排序算法的实现;3)熟练把握快速排序算法的实现;4)明白得常见的算法体会分析方式;生成实验数据.要求:编写一个函数datagenetare,生成2000个在区间[1,10000]上的随机整数,并将这些数输出到外部文件中。这些数作为后面算法的实验数据。实现直接插入排序算法.实现快速排序算法.实验要紧步骤:#include<>#include<>#include<>#include<>#defineRANDMAX10000#defineMax1000

intI_Change_count=0; T);if(A_Length>1000)exit(0);原序列由人你想要比较的数的个数,不算法是按照2的次方米计原序列275712503151641835431510902152471326927792554414R19221A71S4R11AS944m2心7g313451R114316403175263821025318415175291190113562270312930299554843399031914197278276405299141233132313377?156142533311897259561617654582763702819503123181896201@11588619105382779728817974831891QG23203522708G322732??GB250351497G224QB2222713013148695873696696751844717066308Q51889554062827037714678536113822161092254169721660712978218126971131E0549124006277181249824507141491382?212812954283862034215237310621480719116B3361827?215823211M2525215bVb7313ia(J2?2V115138644855IttltJk)1323024663741729142017280791829032692:128击4企应1Er里71位1-- |八坯丁闩丁小H3丁尸厂43319377902 1158189620102181225427572763291437773990 484348E553615406545854915544587363826405 6966702873137417807983368380861986239675 974899551025310538118971190112318123311249812E03 12978138131315013230132691356213822138291386414149 141971451914678148B7148691497615164152371524715401 15614156961610916176166071689416972170661752918027 1810018279182901835418415184471889519116195Q020172 2034220352212812158222187222272240022E272400624E07 24603250352525225333259562637926971270312708627fc37 27718277602779227797278272827028817291152930229E42 2991430114308053085831062313453151031E403175231891 32110322733231332692 .k口底 也民 插入推序:比较次数=224,并多利法数W国简;107 == :========m函入排序后的序列:43319377902 115818962010218122542757E763291437773990 484348555361549654585491B544587363826405 696670287313741780798336H380861986239675 974899551025310538118971190112318123311249812503 12978138131315013230132691356213U22138Z913U6414141? 141V?1451V14678148W7I486甘14V7615164152371524715401 15614156961610916176166071689416972170661752918027 181001827918290183541841518447188951911G1950620172 203422S3522128121582221872222722400225272400624507 246032503525252253332595626379E6971270312708627637 277182776027792277972782728270E8817291152930229542 29914301143080530S583106231345315103164031752 -t31891 32110:壬a4止良白匕自;32273Sk由 3231332692帼入排序:比较次数=42日7,乐茅镶一遍箫箍杂度小68

pr-0=18.000000,X=1.000000pro=15.000000,X=1.000000pro=10.000000,X=1.000000ppo=7.000000,x=0.571429ppo=&.909000,x=0.000Q0Qppo=5.090000,X=0.000000pr-o=3.909000,x=0.000Q0Qallprofit=47_000000Pr-essanykeytocontinuepr-o=6.000000J.x=l_000000pr-o=3.000000,x=l.000000pr-o=10.000000,x=i.000000pro=5.000000,x=l.000000pro=18.000000,x=l.000000pro=15.000000,x=0.800000pro=7.383830 .000000pr-0=18.000000,X=1.000000pro=15.000000,X=1.000000pro=10.000000,X=1.000000ppo=7.000000,x=0.571429ppo=&.909000,x=0.000Q0Qppo=5.090000,X=0.000000pr-o=3.909000,x=0.000Q0Qallprofit=47_000000Pr-essanykeytocontinuepr-o=6.000000J.x=l_000000pr-o=3.000000,x=l.000000pr-o=10.000000,x=i.000000pro=5.000000,x=l.000000pro=18.000000,x=l.000000pro=15.000000,x=0.800000pro=7.383830 .000000allppofit=54.000000Ppessanykeytocontinuepr-o=6.000000,x=l.000000pr-Q=19.000000,X=1.000000pro=18.000000,X=1.000000pro=15.000000,X=1.000000pro=3.000000,x=l.000000pr-o=5.000000,x=0.6&&&&7pr-Q=7.000000,x=0.030000allprofit=55.333332Pressanykeytocontinue,利用dijkstra贪婪法获取由结点1到其余结点最短途径长度,输出保留到外部文件dijkstra-.然后改写你的程序,求得所有各点之间的最短距离输出保留到文件dijkstra.以上图作为输入,利用Floyd算法求得所有各点直接的最短距离;输出保留到文件floyd-.实验要紧步骤:#include<>#include<>#include<>#defineM999voidmain(){intcost[6][6]={{M,M,15,M,M,M},{20,M,M,M,10,30},{M,4,M,M,M,10},{M,M,M,M,M,M},{M,M,M,15,M,M},{M,M,M,4,10,M}};typedefstructedge{intadjvex;ost=cost[0][i];djvex=0;ost&&!selected[i]){min=lowpathcost[i].cost;" <<"对应的边上的权值是"<<min<<endl;}selected[minvex]=1;ost>min+cost[minvex][i]&&min+cost[minvex][i]<M)ost=min+cost[minvex][i];lowpathcost[i].adjvex=minvex;}for(i=1;i<=5;i++)cout<<""<<lowpathcost[i].adjvex;cout<<endl<<endl;inteadjvex,sadjvex;charep[2];for(i=1;i<=total;i++){eadjvex=adjvex[i];sadjvex=lowpathcost[eadjvex].adjvex;ep[0]='0'+eadjvex;ep[1]='\0';chartmp[10];strcpy(tmp,path[sadjvex]);strcpy(path[eadjvex],strcat(tmp,ep));ost<<endl;}}实验结果:

次被选择的顶点.是:?次柢选择的顶点是江次薇选泽的顶点是邙次横选择的顶点是:次;诜择的顶豆曷:4

12路路路路路CD短短短短短。次被选择的顶点.是:?次柢选择的顶点是江次薇选泽的顶点是邙次横选择的顶点是:次;诜择的顶豆曷:4

12路路路路路CD短短短短短。日瞽瞽瞽瞽甑t-TT=.JTTJTThHVMJI」二—J二.二——u--1,---ek21534y点点点点点anmmllJKmm&es空空空空至L..2..2.2..2.ii府的边应的边应的边应的边应的妨是是是是是r'r.厂V.rh-.rh-.Fv.沙沙沙沙沙-悔临帼悒悔点点点点点.勺・勺勺•勺・1,----1,-----D-lIU---1,----历历J71历历-5959911222是是是是是■I二士三-士三-七三一±三02长度是:15021长度是:19025长度是:250253长度是:2弓0214长度是:29心得体会:通过本次实验,了解了动态计划的大体设计谋略。把握了dijkstra贪婪法求解最短途径问题的方式,并能够自己编写程序运行出结果,这让自己很有成绩感。通过改写dijkstra算法,使之成为Floyd算法求解最短途径问题的方式。通过对照这两个算法的实现进程,更好地了解这两个算法的本质区别。N-皇后问题求解实验日记实验题目:N-皇后问题求解实验目的:1)以Q-皇后问题为例,把握回溯法的大体设计谋略。2)把握回溯法解决Q-皇后问题的算法并实现;3)分析实验结果。.用回溯法求解N-Queen,参考教材算法思想,并实现你的算法。要求:用键盘输入N;输出现在解的个数,并统计运算时刻。.给出N=4,5,6时,N-Queen解的个数。.尝试增大N,观看运行情形;并明白得该算法的时刻复杂度。实验要紧步骤:#include<>#include<>intX[10];boolPLACE(intk){inti=1;while(i<k){if(X[i]==X[k]||abs(X[i]-X[k])==abs(i-k))returnfalse;i=i+1;}returntrue;}voidmain(){intk=1,n;intcount=0;printf("请输入一个正整数:\n");scanf("%d",&n);while(k>0)//对所有行执行以下语句{X[k]=X[k]+1;//移到下一列while(X[k]<=n&&!PLACE(k)){X[k]=X[k]+1;//移到下一列,再判定}if(X[k]<=n)//找到一个位置{if(k==n)//一个完整的解{//printprintf("thesoutionis:\n");for(intt=1;t<=n;t++)printf("%3d",X[t]);printf("\n");count+=1;}else{k=k+1;X[k]=0;}//转向下一行elsek=k-1;//回溯}printf("\nthenumberofthesolutionsis%d\n",count);}实验结果:N=4时,解的情形为:

温馨提示

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

评论

0/150

提交评论