算法导论第三版第六章思考题
来源:互联网 发布:h5小游戏网站源码 编辑:程序博客网 时间:2024/06/05 04:40
6-1
a.
不一样。例如习题6.3-1中的数组A,如果采用BUILD-MAX-HEAP算法得到的最大堆为
b.
在最坏的情况下,A应该是一个依次增大的有序数组,则每次MAX-HEAP-INSERT操作的复杂度为
6-2
a.
求父节点下标:
PARENT(i)
1 return
求第
CHILD(i, k)
1 return
b.
含
c.
EXTRACT_MAX(A)1 if A.heap-size < 12 error "heap underflow"3 max = A[1]4 A[1] = A[A.heap-size]5 A.heap-size = A.heap-size - 16 MAX-HEAPIFY(A,1)7 return max
其中MAX-HEAPIFY(A,i)为:
MAX-HEAPIFY(A,i)1 largest = i2 for j = 1 to d3 if CHILD(i,j) <= A.heap-size and A[j] > A[i]4 largest = j5 if largest 不等于 i6 exchange A[i] with A[CHILD(i,largest)]7 MAX-HEAPIFY(A, largest)
MAX-HEAPIFY函数的时间复杂度为
d.
INSERT(A, key)1 A.heap-size = A.heap-size + 12 A[A.heap-size] = -infty3 INCREASE-KEY(A, A.heap-size, key)
其中INCREASE-KEY(A, i, key)为:
INCREASE-KEY(A, i, key)1 if key < A[i]2 error "new key is smaller than current key"3 while i > 1 and A[PARENT(i)] < A[i]4 exchange A[i] with A[PARENT(i)]5 i = PARENT(i)6 A[i] = key
其中HEAP-INCREASE-KEY函数的复杂度为
e.
INCREASE-KEY的实现如上题。时间复杂度为
6-3
a.
b.
因为对一个
c.
EXTRACT-MIN(Y)1 min = Y[1, 1]2 Y[1, 1] = infty3 i = 1, j = 14 while true5 if j < n and Y[i, j + 1] < Y[i, j]6 exchange Y[i, j + 1] with Y[i, j]7 j = j + 18 else if i < m and Y[i + 1, j] < Y[i, j]9 exchange Y[i + 1, j] with Y[i, j]10 i = i + 1
d.
INSERT(Y, key)1 Y[m, n] = key2 i = m, j = n3 while true4 if j > 1 and Y[i, j - 1] < Y[i, j]5 exchange Y[i, j - 1] with Y[i, j]6 j = j - 17 if i > 1 and Y[i - 1, j] < Y[i, j]8 exchange Y[i - 1, j] with Y[i, j]9 i = i - 1
e.
逐次使用EXTRACT-MIN函数从
f.
COMPARE(Y, key)1 i = m, j = 12 while true3 if j < n and Y[i, j] < key4 j = j + 15 else if Y[i, j] == key6 return true7 else if i > 1 and Y[i, j] > key8 i = i - 19 return false
- 算法导论第三版第六章思考题
- 算法导论第三版第四章思考题
- 算法导论第三版第五章思考题
- 算法导论第三版第七章思考题
- 算法导论第三版 第三章 思考题 3-6
- 算法导论(第三版) 第三章思考题
- 算法导论第六章堆排序思考题
- 算法导论(第三版) 第二章思考题
- 算法导论第三版第8章思考题
- 算法导论第三版-思考题2-1
- 《算法导论》第三章-思考题(参考答案)
- 算法导论(第三版)-复习- 第六部分图论思考题 22 基本的图算法
- 算法导论第八章思考题
- 算法导论第六章思考题6-2: 对d堆的分析
- 算法导论(三版):第二章思考题
- 对区间的模糊排序(原题算法导论第三版思考题7-6)
- 《算法导论》系列课后思考题之-第三章《函数的增长》(上)
- 《算法导论》系列课后思考题之-第三章《函数的增长》(下)
- 安卓自定义属性,Android studio无法提示,只提示3个
- PAT-1023 组个最小数
- ZOJ-3710-Friends【10th浙江省赛】【暴力】
- ZooKeeper架构设计及其应用要点
- 【bzoj3876】[Ahoi2014]支线剧情 有上下界的费用流
- 算法导论第三版第六章思考题
- 算法代码实现之希尔排序,Golang(Go语言)实现
- 《精通Hadoop》:第 1 章 Hadoop 2.X
- Android项目文件夹结构以及意义
- sublime text注册码
- 【html/css】选择器以及其优先级的问题
- 散列表的学习和探讨(算法导论第11章)
- iOS自定义AlertView
- vs2010调试时无法查找或打开 PDB 文件