- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
算法设计技巧与分析参考答案
第1章算法分析基本概念
<a>6 <b>5 <c>6 <d>6
算法执行了 7+6+5+4+3+2+1=28次比较
45
33
24
45
12
12
24
12
1
12
33
24
45
45
12
24
12
i
12
12
24
45
45
33
24
12
12
12
12
45
45
33
24
24
?
12
12
12
24
45
33
45
24
?
12
12
12
24
24
33
45
45
1
12
12
12
24
24
33
45
45
1
■
24
24
33
45
45
va>算法MODSELECTIONSORT执行的元素赋值的最少 次数是0,元素已按非降序排列的时候达到最小值.
<b>算法MODSELECTIONSORT执行的元素赋值的最 多次数是勿护,元素己按非升序排列的时候达到最小值.
4 1
3
12
5
6
7
2
9
1次
I4
1次
1
3
4
12
2次
—
3
4
5
12
2次
—
3
4
5
6
12
2 '次
—
3
4
5
6
7
12
6次
2
3
4
5
6
7
12
2次
—
2 |
3
4
5
6
7
9
12
由上图可以看到执行的比较次数为1+1+2+2+2+6+2=16次.
由上图可以得出比较次数为5+6+6+9=26次.
FTF.TTT,FTETFF,FTF
<a>执行该算法,元素比较的最少次数是n.L元素己按非降 序排列时候达到最小值.
<b>执行该算法,元素比较的最多次数是峭.元素己按 非升序排列时候达到最大值.
<C>执行该算法,元素赋值的最少次数是0.元素己按非降 序排列时候达到最小值.
<d>执行该算法,元素赋值的最多次数是処Q.元素己按
2
非升序排列时候达到最大值.
<e>〃用O符号和。符号表示算法BUBBLESORT的运行 时冋:t = O(n2),t = Q(ti)
〈今不可以用。符号来表示算法的运行时间:。是用来表示 算法的精确阶的,而本算法运行时间由线性到平方排列,因 此不能用这一符号表示.
不能用Y关系来比较/和100/增长的阶.
V1U11_^ = X^O
—100〃? 100
...疽不是风00/)的,即不能用Y关系来比较/r和100,r增长 的阶.
<a>当11为2的冨时,第六步执行的最大次数是:
〃 = 2*,J = 2i 时,
<b>由va>可以得到:当每一次循环j都为2的幕时,第六 步执行的次数最大,
则当〃 =3/ = §=2”〔其中?取整)时,
VC>用。符号表示的算法的时间复杂性是。(〃1总〃)
已证明n=2k的情况,下面证明11=25的情况:
因为有2^~2
因为有
2^
~2
2k+l
所以n=2k+l时,第六步执行的最大次数仍是11 log n.
<d>用。符号表示的算法的时间复杂性是
当〃满足丿=〃/2取整为奇数时,算法执行的次数是〃次,其他
情况算法执行次数均大于〃
<e> 0更适合表示算法的时间复杂性.因为本算法时间复 杂性从Q(〃)到0(〃 log 〃),而。是表示精确阶的.
对〃个数进行排序.
第5章归纳法
5.3〔本题不仅有以下一个答案)
1 .max<n>
过程:
max<i>
if n=l return a[l]
t=max<i-l>
if a[i-l]>t return a[i-l]
else return t end if
最多次数:
最少次数:
C<n>=n-1
不稳定,例如:
可见SELECTIONSORT中相等元素的序在排序后改变.
<bxc><d><f> 稳定
<a>利用 = ⑴+ %
取 x = 3,
Va> p(2,5) - p(2,2) t p(2,l) t p(2,0)
I
第6章分治
输入:A[l,2,...n]
输出:max,min
for i=l to mid
j=high-i
if a[i]>a[j], then exchange a|i],a[j]
4-end for
for i=low to mid
if a[i+l]<a[low], then exchange a[low],a[i+l]
7>end for
8<for i=mid+l to high
if a[i+l]>a[high]9 then exchange a[high],a[i+l]
lO.end for
输入:一个整数数组A[12...,n]
输出:sum
l.if high-low=l then
2. sum=a[low]+a[high]
mid=<low+high>/2
suml=sum<low,mid>
sum2=sum<mid+1 ,high>
sum=suml+sum2
end if
9<return sum
算法需要的工作空间为3
6J0.
27
13
文档评论(0)