先回答Huffman code那題,如果是一般的binary Huffman tree, 不管有幾個character要encode都ok但是這題是ternary Huffman tree, character數目要是奇數才可以建好(想像每三個char合併成一個,char數目會扣2,最後要剩下char數目必須要剩下一個)可是這題給的char數目是偶數,這時候我們必須要insert一個權重是0的placeholder node, 等到建好的時候才remove, 這就是為什麼有些internal node的degree不是3NP那題你的理由ok(畢竟題目沒講明problem是不是不在P裡,NP包含P,所以在P裡的problem就是反例)20. 如果空間不夠,就要分配一塊新的更大的mem, 再把舊東西搬過去,所以可能要linear time18. 這選項應該是錯的吧,光是merge就是O(nlgn)的時間了 (高度lgn - lglgn,每個level O(n) )20.B應該是錯在才多分配一單位吧== (m變成m+1,這樣很快用不夠)我看了一下vector的source code,至少也有+5對我的想法跟你說得差不多 所以應該BCD是不可能的