search

資料結構哈夫曼樹

資料結構哈夫曼樹

  資料結構哈夫曼樹是由德國數學家馮·哈夫曼發現的,又稱為最優二叉樹,是一種帶權路徑長最短的樹結構。哈夫曼樹的特點是引出的路程最短,哈夫曼樹的形狀是單支形式,對於程式設計具有重大的意義,使某些很難完成的任務變得簡單,可以有條理的完成。樹的路徑長度是從樹根到每一個葉子之間的路徑長度之和,節點的帶樹路徑長度為從該節點到樹根之間的路徑長度與該節點權的乘積。

哈夫曼樹是否唯一

  哈夫曼樹不唯一,因為沒有限定左右子樹,並且有權值重複時,可能樹的高度都不唯一,唯一的只是帶權路徑長度之和最小。

  哈夫曼樹(Huffman)樹又稱最優二叉樹,是指對於一組帶有確定權值的葉子結點所構造的具有帶權路徑長度最短的二叉樹。從樹中一個結點到另一個結點之間的分支構成了兩結點之間的路徑,路徑上的分支個數稱為路徑長度。二叉樹的路徑長度是指由根結點到所有葉子結點的路徑長度之和。如果二叉樹中的葉子結點都有一定的權值,則可將這一概念。

  設二叉樹具有n個帶權值的葉子結點,則從根結點到每一個葉子結點的路徑長度與該葉子結點權值的乘積之和稱為二叉樹路徑長度,記做:WPL=W1L1+W2L2+WnLn等等;其中:n為二叉樹中葉子結點的個數;Wk為第k個葉子的權值;Lk為第k個葉子結點的路徑長度。

簡述哈夫曼樹的性質

  由哈夫曼樹的生成過程可得如下性質:

  1、給定權值的哈夫曼樹不唯一,但是最小的二叉樹,為定值。

  2、權值越大的節點離根節點就越近。

  3、哈夫曼樹中無度的節點。

  4、左子樹上所有的結點的資料值均小於根結點的資料值,右子樹上所有的結點的資料值均大於或等於根結點的資料值。


什麼是演算法

  哈夫曼樹是一種樹形結構,用哈夫曼樹的方法解程式設計題的演算法叫做哈夫曼演算法。   樹並不是指植物,而是一種資料結構,因為其存放方式頗有點象一棵樹有樹叉因而稱為樹。最簡哈夫曼樹是由德國數學家馮·哈夫曼發現,特點就是引出的路程最短。   哈夫曼樹是由多個帶權葉子結點構成的所有二叉樹中帶權路徑長度最短的二叉樹 ...

編碼怎麼求

  哈夫曼編碼又稱霍夫曼編碼,是一種編碼方式,哈夫曼編碼是可變字長編碼的一種。哈夫曼1952年提出一種編碼方法,該方法完全依據字元出現機率來構造異字頭的平均長度最短的碼字,有時稱之為最佳編碼,一般就叫做霍夫曼編碼。在變字長編碼中,如果碼字長度嚴格按照對應符號出現的機率大小逆序排列,則其平均碼字長度為最小,赫夫 ...

編碼

  哈夫曼編碼,又稱霍夫曼編碼,是一種編碼方式,哈夫曼編碼是可變字長編碼(VLC)的一種。Huffman於1952年提出一種編碼方法,該方法完全依據字元出現機率來構造異字頭的平均長度最短的碼字,有時稱之為最佳編碼,一般就叫做Huffman編碼(有時也稱為霍夫曼編碼)。赫夫曼編碼的具體方法:先按出現的機率大小排 ...

資料結構二叉

  二叉樹是十分重要的資料結構,主要用來存放資料,並且方便查詢等操作,在很多地方有廣泛的應用。二叉樹有很多種類,比如線索二叉樹,二叉排序樹,平衡二叉樹等。二叉樹的建立採用的是遞迴的思想,給定一個指向根節點的指標,然後遞迴呼叫ceate函式,自動生成一個二叉樹。 ...

資料結構的應用

  樹是一類重要的非線性結構,非常類似與自然界中的樹.在計算機領域有廣泛的應用.本章重點研究樹的相關基礎知識。   主要應用於如編譯器中的模式識別、語法樹、資料傳遞、磁碟路徑結構等。   樹的普遍取決於它的結構與通常解決問題的演算法的一致性和結構簡單嚴謹:遞迴定義、拓撲有序、實現簡單。當面臨高維狀態時,其它結 ...

資料結構二叉的順序儲存結構

  解釋如下:   1、此結構是將二叉樹的所有結點,按照一定的次序,儲存到一片連續的儲存單元中。   2、必須將結點排成一個適當的線性序列,使得結點在這個序列中的相應位置能反映出結點之間的邏輯關係。這種結構特別適用於近似滿二叉樹。   3、在一棵具有n個結點的近似滿二叉樹中,我們從樹根起,自上層到下層,逐層從 ...

資料結構中自由是什麼怎樣定義

  資料結構中自由樹沒有簡單環路的無向圖,選定一個節點做根,就是一棵普通樹。   自由樹是一種資料結構,它是由n個有限節點組成一個具有層次關係的集合。把它叫做樹,是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。它具有以下的特點:每個節點有零個或多個子節點;沒有父節點的節點稱為根節點;每一個非根節 ...