算法导论61习题解答

CLRS 6-1 :

1.当输入数组相同时,过程BUILD-MAX-HEAP和BUILD-MAX-HEAP'产生的堆是否总是一样的?

解答:这个可以用举反例的方式来反驳之。如数组为{1, 2, 3, 4, 5}

按照BUILD-MAX-HEAP的方式为:

              1                          1                    5

          2       3     ->         5      3     ->    4     3

     4        5                 4      2              1     2

按照BUILD-MAX-HEAP'的方式为:

                                  2                3                   4                         5

              1      ->     1          ->   1     2   ->     3      2   ->          4      2

                                                                  1                        1      3

2.简单说明:BUILD-MAX-INSERT的时间为lgn,而for循环运行了了n-1次,所以总时间为(n-1)lgn->nlgn

---
可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
原文地址:https://www.cnblogs.com/null00/p/2065076.html