算法设计技巧与分析答案.docx

上传人:b****3 文档编号:1969892 上传时间:2022-10-25 格式:DOCX 页数:15 大小:432.61KB
下载 相关 举报
算法设计技巧与分析答案.docx_第1页
第1页 / 共15页
算法设计技巧与分析答案.docx_第2页
第2页 / 共15页
算法设计技巧与分析答案.docx_第3页
第3页 / 共15页
算法设计技巧与分析答案.docx_第4页
第4页 / 共15页
算法设计技巧与分析答案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

算法设计技巧与分析答案.docx

《算法设计技巧与分析答案.docx》由会员分享,可在线阅读,更多相关《算法设计技巧与分析答案.docx(15页珍藏版)》请在冰豆网上搜索。

算法设计技巧与分析答案.docx

算法设计技巧与分析答案

算法设计技巧与分析

参考答案

第1章算法分析基本概念

1.1

(a)6(b)5(c)6(d)6

1.4

算法执行了7+6+5+4+3+2+1=28次比较

1.5

(a)算法MODSELECTIONSORT执行的元素赋值的最少次数是0,元素已按非降序排列的时候达到最小值。

(b)算法MODSELECTIONSORT执行的元素赋值的最多次数是,元素已按非升序排列的时候达到最小值。

1.7

由上图可以看到执行的比较次数为1+1+2+2+2+6+2=16次。

1.11

由上图可以得出比较次数为5+6+6+9=26次。

1.13

FTF,TTT,FTF,TFF,FTF

1.16

(a)执行该算法,元素比较的最少次数是n-1。

元素已按非降序排列时候达到最小值。

(b)执行该算法,元素比较的最多次数是。

元素已按非升序排列时候达到最大值。

(c)执行该算法,元素赋值的最少次数是0。

元素已按非降序排列时候达到最小值。

(d)执行该算法,元素赋值的最多次数是。

元素已按非升序排列时候达到最大值。

(e)用O符号和符号表示算法BUBBLESORT的运行时间:

(f)不可以用符号来表示算法的运行时间:

是用来表示算法的精确阶的,而本算法运行时间由线性到平方排列,因此不能用这一符号表示。

1.27

不能用关系来比较和增长的阶。

不是的,即不能用关系来比较和增长的阶。

1.32

(a)当n为2的幂时,第六步执行的最大次数是:

时,

(b)由(a)可以得到:

当每一次循环j都为2的幂时,第六步执行的次数最大,

则当(其中取整)时,

(c)用符号表示的算法的时间复杂性是

已证明n=2k的情况,下面证明n=2k+1的情况:

因为有

所以n=2k+1时,第六步执行的最大次数仍是nlogn。

(d)用符号表示的算法的时间复杂性是。

当满足取整为奇数时,算法执行的次数是次,其他情况算法执行次数均大于。

(e)O更适合表示算法的时间复杂性。

因为本算法时间复杂性从到,而是表示精确阶的。

1.38

对个数进行排序。

 

第5章归纳法

5.3(本题不仅有以下一个答案)

1.max(n)

过程:

max(i)

ifn=1returna[1]

t=max(i-1)

ifa[i-1]>treturna[i-1]

elsereturnt

endif

5.6

最多次数:

最少次数:

C(n)=n-1

5.7

参考例5.1

5.14

(a)不稳定,例如:

可见SELECTIONSORT中相等元素的序在排序后改变。

(b)(c)(d)(f)稳定

5.17

(a)利用

取,

5.18

(a)

第6章分治

6.3

输入:

A[1,2,…n]

输出:

max,min

1.fori=1tomid

2.j=high-i

3.ifa[i]>a[j],thenexchangea[i],a[j]

4.endfor

5.fori=lowtomid

6.ifa[i+1]

7.endfor

8.fori=mid+1tohigh

9.ifa[i+1]>a[high],thenexchangea[high],a[i+1]

10.endfor

6.5

输入:

一个整数数组A[1,2,…,n]

输出:

sum

1.ifhigh-low=1then

2.sum=a[low]+a[high]

3.else

4.mid=(low+high)/2

5sum1=sum(low,mid)

6sum2=sum(mid+1,high)

7.sum=sum1+sum2

8.endif

9.returnsum

算法需要的工作空间为3

6.10.

 

6.31

彩色代表i,j所指的数字j总在i前

 

6.36

6.42

Quicksort不是稳定的。

6.43

bcefg均为适应的,a、h不是适应的。

第7章动态规划

7.1

(c),算法BOTTOMUPSORT

7.5

字符串A=”xzyzzyx”和B=”zxyyzxz”的最长公共子序列长度为4,共有6个最长公共子序列,分别是:

①zyyx②zyzz③zyzx④xyyx⑤xyzz⑥xyzx

7.9

C[1,5]=C[1,1]+C[2,5]+r[1]*r[2]*r[6]=307

C[1,5]=C[1,2]+C[3,5]+r[1]*r[3]*r[6]=252

C[1,5]=C[1,3]+C[4,5]+r[1]*r[4]*r[6]=372

C[1,5]=C[1,4]+C[5,5]+r[1]*r[5]*r[6]=260

所以最优括号表达式为(M1M2)((M3M4)M5)

7.15

7.21

0

1

2

3

4

5

6

7

8

9

10

11

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

3

3

3

3

3

3

3

3

3

3

2

0

0

3

4

4

7

7

7

7

7

7

7

3

0

0

3

4

4

7

7

8

9

9

12

12

4

0

0

3

4

4

7

7

8

10

11

12

14

7.23

当物品体积为负值时,运行算法会发生溢出错误。

第八章贪心算法

8.12

由算法从s到t要选择先到a然后到t,其结果为4,而从s到t距离为2,所以探索不总是产生从s到t的距离

8.13

8.23(共有4棵最小生成树,此处仅举一例)

8.24(共有4棵最小生成树,此处仅举一例)

8.31

每一个二叉树都取左边为0,右边为1

则最优编码为a:

10b:

001c:

0001

d:

0000e:

01f:

11

注意:

编码不唯一

回溯法

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1