先回答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是不可能的