《算法导论》第三版第9章 中位数和顺序统计量 练习&思考题 个人答案 |
您所在的位置:网站首页 › 第四十二章思考未来的答案 › 《算法导论》第三版第9章 中位数和顺序统计量 练习&思考题 个人答案 |
9.1 最小值和最大值
9.1-1
解: 两两比较,直至找到最小值(共需 n − 1 n-1 n−1次),将曾与最小值比较过的值进行比较(共需 ⌈ l g n ⌉ − 1 \lceil lgn\rceil -1 ⌈lgn⌉−1次)。 n − 1 + ⌈ l g n ⌉ − 1 = n + ⌈ l g n ⌉ − 2 n-1+\lceil lgn\rceil -1=n+\lceil lgn\rceil -2 n−1+⌈lgn⌉−1=n+⌈lgn⌉−2 9.1-2解:先两两比较一轮(比较次数 ⌊ n 2 ⌋ \lfloor \frac{n}{2}\rfloor ⌊2n⌋),将较大值分为一组(最多 ⌈ n 2 ⌉ \lceil \frac{n}{2}\rceil ⌈2n⌉个元素),较小值分为一组(最多 ⌈ n 2 ⌉ \lceil \frac{n}{2}\rceil ⌈2n⌉个元素),之后分别在两组间找出最大值(最小值)(比较次数 2 ⌈ n 2 ⌉ − 2 2\lceil \frac{n}{2}\rceil-2 2⌈2n⌉−2), ⌊ n 2 ⌋ + 2 ⌈ n 2 ⌉ − 2 = ⌈ 3 n 2 ⌉ − 2 \lfloor \frac{n}{2}\rfloor+2\lceil \frac{n}{2}\rceil-2=\lceil \frac{3n}{2}\rceil-2 ⌊2n⌋+2⌈2n⌉−2=⌈23n⌉−2。 9.2 期望为线性时间的选择算法 9.2-1易证。。 9.2-2在一个分区中选取主元不会影响子问题的概率。也就是说,在RANDOMIZED-PARTITION中对RANDOM的调用产生一个结果,与下一次迭代中的调用无关。 9.2-3 RANDOMIZED-SELECT(A, p, r, i) while p < r q = RANDOMIZED-PARTITION(A, p, r) k = q - p + 1 if i == k return A[q] else if i < k r = q - 1 else p = q + 1 return A[p] 9.2-4思路:依次选择9、8、7、6、5、4、3、2、1。 9.3 最坏情况为线性时间的选择算法 9.3-1解: (1) T ( n ) ≤ { O ( 1 ) , n ; 126 T ( ⌈ n 7 ⌉ ) + T ( 5 n 7 + 8 ) + O ( n ) , n ≥ 126 T(n)\leq \begin{cases} O(1), ; \ n;126 \\ T(\lceil\frac{n}{7}\rceil)+T(\frac{5n}{7}+8) +O(n), ; \ n\geq 126\end{cases} T(n)≤{ O(1),T(⌈7n⌉)+T(75n+8)+O(n), n4 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |