算法导论6-1习题解答

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

posted on 2011-03-21 10:05  NULL00  阅读(755)  评论(1编辑  收藏  举报

导航