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

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

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

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

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

算法设计技巧与分析

参考答案

第1章算法分析基本概念

1.1

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

1.4

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

45

33

24

45

12

12

24

12

45

45

45

45

45

45

45

33

33

33

33

33

33

33

24

24

24

24

24

24

45

45

45

45

45

45

12

12

12

12

12

12

12

12

12

12

12

24

24

24

24

12

12

12

12

12

12

12

24

24

24

45

24

12

12

12

1.5

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

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

1.7

4

3

12

5

6

7

2

9

3

4

4

4

4

4

3

3

3

3

3

4

12

12

12

12

12

12

5

5

5

5

5

6

6

6

7

7

2

4

3

2

1次

9

7

6

1次

2次

2次

6次

2次

2次

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

1.11

19

2

4

7

5

19

17

13

12

11

8

15

4

5

8

11

13

17

2

19

13

4

8

11

15

12

7

15

7

12

17

5

2

11

19

5

17

2

4

8

13

7

15

12

2

17

19

5

13

11

4

8

15

12

7

比较均为1次,共5次

比较为3次,

2次,1次

比较为6次

比较9次

由上图可以得出比较次数为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)不稳定,例如:

12

45

45

24

12

45

45

24

45

45

24

12

45

45

24

12

可见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.32

15

14

15

11

17

25

51

32

14

15

15

25

11

14

15

15

17

25

32

51

14

15

15

32

11

17

51

11

25

17

51

32

15

15

32

14

15

14

15

11

17

11

17

25

51

25

51

32

32

15

15

14

14

15

15

11

11

17

17

25

25

51

51

12

25

19

17

15

37

18

45

32

51

22

12

15

18

17

51

45

32

25

22

19

37

12

25

19

17

32

51

15

37

18

45

22

12

25

17

19

32

51

18

45

22

15

37

12

25

17

19

51

32

18

45

22

37

15

12

12

25

25

17

19

19

51

51

32

45

45

18

18

22

37

15

12

17

25

19

51

32

45

37

18

15

22

12

17

25

19

51

32

22

18

45

37

15

12

25

19

51

45

18

6.31

27

13

31

18

45

16

17

53

27

53

13

31

18

45

16

17

27

53

13

31

18

45

16

17

53

27

27

13

18

31

45

16

17

53

13

18

31

45

16

17

53

27

31

13

18

16

45

31

17

53

45

27

13

17

18

16

17

53

13

18

16

27

45

31

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

6.36

23

32

27

18

45

11

63

12

19

16

25

52

14

14

18

11

12

19

16

23

32

45

27

25

52

63

14

18

11

12

19

16

12

11

14

18

19

16

12

11

11

12

18

16

18

19

16

19

11

11

16

16

19

19

32

45

27

25

52

63

63

25

27

32

45

52

25

27

25

27

27

27

45

52

63

45

52

63

52

63

52

63

63

63

11

12

14

16

18

19

23

25

27

32

52

63

45

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

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

第八章贪心算法

1

8.12

a

t

s

2

3

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

8.13

1

3

2

6

5

4

9

12

12

15

13

4

5

4

3

1

3

2

6

5

4

9

12

15

13

4

5

4

3

1

3

2

6

5

4

9

12

15

13

4

5

4

3

1

3

2

6

5

4

9

12

15

13

4

5

4

3

1

3

2

6

5

4

9

12

15

13

4

5

4

3

1

3

2

6

5

4

9

12

15

13

4

5

4

3

4

9

9

9

20

4

8

8

4

16

13

28

8

16

13

12

12

12

12

12

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

当前位置:首页 > 医药卫生 > 基础医学

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

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