算法设计与分析基础习题参考答案.docx
《算法设计与分析基础习题参考答案.docx》由会员分享,可在线阅读,更多相关《算法设计与分析基础习题参考答案.docx(28页珍藏版)》请在优知文库上搜索。
1、习题1.15.证明等式gcd(m.n=gcd(n.mn(1.n)对每一对正整数m.n都成立.Hint:根据除法的定义不难证明:如果d整除U和V.那么d一定能整除uv;加果d整除U.那么d也能修整除U的任何整数倍ku.对于任意一对正整数m,n,辑设d能整除m和nJE么d一定能整除n和r=mmodn=m-qn:显然,假设d能整除n和r,也一定能整除n=r+qn和n.数对(m.n)和(n.r)具有相同的公约数的有限非空集,其中也包括了最大公约数.故gcd(111.n)=gctcmpreturnx1.,x2e1.seifD=Oreturn-M2*a)e1.serc(umnorea1.Isme1.se/
2、a=f1.ifb0return-cbe1.se/a=b=Oifc=0return,fcnrea1.numbers*e1.sereturn,wnorea1.roots”5 .描述将十进制整数表达为.进制整数的标准算法必用文字描述b.用伪代码描述解答:今将十进制整数转换为:进制整数的修法输入:一个正整数n输出,正整数n相应的二进制数第一步:用n除以2.余数赋给Ki(i三whi1.ei!=()doprintBini;i9.考虑下面这个算法.它求的是数组中大小相差最小的两个元素的差(算法略)对这个究法做尽可能多的改良.算法MinDistance(O.n-1)“输入:数组A(0.n-1.)输出:thes
3、ma1.1.estdistancedbetweentwoofitse1.ementsdminfori0ton2doforJ4i+1.ton-Idotemp44ijiftempdmindmin-tempreturndmin习题1.3考虑这样一个排序算法,该算法对于待持序的数组中的姆一个元素,计算比它小的元素个数,然后利用这个信息.将各个元素放到有序数祖的相应位置上去.foriOton1doCounti*OfortOton-2doforji1ton-1doifiAjCcnntjCountj+1e1.seCountiCounti+1forOton1doSCunfiAia.应用该算法对列表”60,35
4、31.98.14.47”排序b.该和法稳定吗?C,该算法在位吗?解:a.该算法对列表”60.35.81.98.14.4T排序的过程如下所示:Initia1.1.yCountAfterpassi=OCountAfterpassi1CountAfterPaSSi=2CountAfterPaSSi=3CountAfterpassi=4CountFina1.stateCountArray0.5ArrayS0.5OOOOOO3O11OO122O143O15O1O23145O2I6()3581I981447I14I35476()I819Kb该算法不杨定.比方对列表“2.2*”排序C该辞法不在位.额外空间f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 设计 分析 基础 习题 参考答案
