哈夫曼編碼(初賽)

對於一個序列,給定我們在這個序列中出現過的數以及出現次數,我們可以求得每一個數的二進制編碼,使得表達這個序列的長度最短。 比如說: 我們每次取出出現次數最少的兩個數,刪除,並將他們的和放入優先隊列。 相對應的,我們也要在合併的同時建一棵二叉樹 出現次數少的在左,大的在右。 向左兒子的邊爲0,向右兒子的邊爲1。 所以一個序列建出來的二叉樹不唯一。 例如: 這也是一種合法的二叉樹。 所以我們得到了每個
相關文章
相關標籤/搜索