問題詳情

使用陣列來實作最大堆積(max heap),若輸入為 「31, 41, 59, 26, 53, 58, 97」, 則其輸出之陣列為何?
(A) 26, 31, 41, 53, 58, 59, 97
(B) 31, 58, 41, 26, 59, 53, 97
(C) 97, 59, 58, 53, 41, 31, 26
(D) 97, 53, 59, 26, 41, 58, 31

參考答案

答案:D
難度:困難0.277108
統計:A(8),B(12),C(27),D(23),E(0)

用户評論

queen0741】評論

                   31(1)         41(2)                59(3)   26(4)       53(5)     58(6)        97(7)最大的與位置(1)對調                97(1)         41(2)                59(3)   26(4)       53(5)     58(6)        31(7)                97(1)確定         41(2)                59(3)   26(4)       53(5)     58(6)        31(7)左子樹最大與位置(2)調換                  97(1)確定         41(2)                59(3)   26(4)       53(5)     58(6)        31(7)                 97(1)確定         53(2)確定               59(3)   26(4)       41(5)     58(6)        31(7)右子樹最大的與位置(3)調換                   97(1)確定         53(2)確定               59(3)確定   26(4)       41(5)     58(6)        31(7)照位置順序輸出97,53,59,26,41,58,31