习题课—医学讲解课件

习题课—医学讲解课件

ID:17396346

大小:146.50 KB

页数:20页

时间:2018-08-30

习题课—医学讲解课件_第1页
习题课—医学讲解课件_第2页
习题课—医学讲解课件_第3页
习题课—医学讲解课件_第4页
习题课—医学讲解课件_第5页
资源描述:

《习题课—医学讲解课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、习题课——1第一章算法及基础知识1-6请对冒泡排序算法进行描述,并对其复杂性进行分析。算法描述:VoidBubbleSort(intscore[]){inti,j,temp;for(i=0;i<=n-2;i++)for(j=0;jscore[j+1]){temp=score[j];score[j]=score[j+1];score[j+1]=temp; }}该算法的时间复杂性为O(n2),算法为稳定的排序方法。1-7给出求解汉诺塔问题的算法描述,并对其复杂性进行分析。HanoiTower问题是印度的一个古老的传

2、说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。计算结果非常恐怖(移动圆片的次数)18446744073709551615,众僧们即便是耗尽毕生精力也不可能完成金片的移动了。1-7给出求解汉诺塔问题的算法描述,并对其复杂性进行分析。算法思想:将n个盘子从A座移动到C座上可以分解为三个步骤:(1)将A座上的n-1个盘子移动到座上(借助C座) (

3、2)将A座上剩下的一个盘子移动到C座上。 (3)将n-1个盘子从B座移动到C座上(借助A座)Voidhanio(intn,chara,charb,charc){if(n==1)move(a,c)else{hanio(n-1,a,c,b);move(a,c);hanio(n-1,b,a,c);}}voidmove(charx,intn,chary)//汉诺塔的递归算法{cout<<"把编号为"<

4、B);}else{hanoi(N-1,A,B,C);move(A,N,B);hanoi(N-1,C,A,B);}}intmain(){cout<<"------汉诺塔递归实现------"<>n;cout<<"移动步骤:"<

5、dhanoi(intn)//汉诺塔的非递归算法{intfromPole,toPole,Disk;int*BitStr=newint[n],*Hold=newint[n];charPlace[]={'A','B','C'};inti,j,temp;for(i=0;i

6、sk=j+1;if(Disk==1){fromPole=Hold[0];toPole=6-fromPole-temp;temp=fromPole;}else{fromPole=Hold[Disk-1];toPole=6-Hold[0]-Hold[Disk-1];}cout<<"把编号为"<

7、说明:利用塔C将盘子从塔A移到塔B"<>n;hanoi(n);system("PAUSE");return0;}该算法的时间复杂性为O(n)第二章贪心法2-4给定n位正整数a,去掉其中任意k(k<=n)个数字后,剩下的数字按原序列排列组成一个新的正整数。对于给定的n位正整数a和正整数k,设计一个算法找出剩下数字组成的新数最小的删数方案。解:设n位正整数a=anan-1…a1,其中ai={0,1,2,3,4,5,6,7,8,9}说明:正整数的大小取决于它的高位数值。1.n=1时,设

8、有a=a1和b=b1,并且a1>b1可知有:a>b2.n=2时,设有a=a2a1和b=b2b1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。