全部每周作业和视频思考题答案和解析 见 浙江大学 数据结构 思考题+每周练习答案汇总
题目1:按秩归并算法中,把所有点访问一边,最坏情况时间复杂度是多少?
按照最坏的情况,在归并中我们会把同样高度的树归并到一起:
假设一共有N个,全都两两归并一次以后,形成N/2个树,每个树高度为2。
然后再次进行两两归并,形成N/4个树,每个树的高度为3,然后再两两归并,形成N/8个高度为4的树,
即树的高度为o(logN)
时间复杂度即找N个点的时候,最坏情况是都是从最底下找起,然后要找NlogN次。
题目2:已知Ackermann 函数的定义为:
则A(2,4)等于多少?
A(2,4) = A(1,A(2,3))
A(2,3) = A(1,A(2,2))
A(2,2) = A(1,A(2,1))
A(2,1) = A(1,2) = 4
A(2,2) = 2^4 = 16
A(2,3) = 2^16 = 65 536
A(2,4) = 2^(65536)