樹的路徑長度是從樹根到樹中每一結點的路徑長度之和。在結點數目相同的二叉樹中,完全二叉樹的路徑長度最短。
2.樹的帶權路徑長度(Weighted Path Length of Tree,簡記為wpl)
結點的權:在一些套用中,賦予樹中結點的一個有某種意義的實數。
結點的帶權路徑長度:結點到樹根之間的路徑長度與該結點上權的乘積。
樹的帶權路徑長度(Weighted Path Length of Tree):定義為樹中所有葉結點的帶權路徑長度之和,通常記為:
其中:
n表示葉子結點的數目
wi和li分別表示葉結點ki的權值和根到結點ki之間的路徑長度。
樹的帶權路徑長度亦稱為樹的代價。
3.最優二叉樹或哈夫曼樹
在權為wl,w2,…,wn的n個葉子所構成的所有二叉樹中,帶權路徑長度最小(即代價最小)的二叉樹稱為最優二叉樹或哈夫曼樹。
【例】給定4個葉子結點a,b,c和d,分別帶權7,5,2和4。構造如下圖所示的三棵二叉樹(還有許多棵),它們的帶權路徑長度分別為:
(a)WPL=7*2+5*2+2*2+4*2=36
(b)WPL=7*3+5*3+2*1+4*2=46
(c)WPL=7*1+5*2+2*3+4*3=35
其中(c)樹的WPL最小,可以驗證,它就是哈夫曼樹。
注意:
① 葉子上的權值均相同時,完全二叉樹一定是最優二叉樹,否則完全二叉樹不一定是最優二叉樹。
② 最優二叉樹中,權越大的葉子離根越近。
③ 最優二叉樹的形態不唯一,WPL最小
相關詞條
-
最優二叉樹算法
衡量一個算法的優劣有許多因素,效率就是其中之一。而效率指的就是算法的執行時間。提高效率是軟體開發必須注重的問題。對同一個問題往往有多個算法可以解決,在同...
引入 基本概念 構造算法 編碼中的套用 編碼和解碼 -
空二叉樹
0的二叉樹由一個根結點以及兩棵互不相交的、分別稱為左子樹和右子樹的二叉樹組成。
概念 二叉樹的基本運算 二叉樹定義 構造空樹 如何判斷 -
數據結構與算法(第2版)
二叉樹、圖、遞歸與分治算法、貪心算法、分支限界和動態規劃等內容;重點介紹.../1346.5.4散列查找的效率/137習題/138第7章樹和二叉樹/1407.1樹的概念/1407.2二叉樹/141 7.2.1二叉樹的概念...
內容簡介 編輯推薦 目錄 -
數據結構:C語言描述
大綱的6個知識單元,包括線性表,棧、佇列和數組,樹與二叉樹,圖,查找...104 第4章 樹與二叉樹108 4.1 樹的基本概念108... 4.2 二叉樹111 4.2.1 二叉樹的概念111...
圖書信息 內容簡介 作者簡介 圖書目錄 -
數據結構(C語言版)
最優二叉樹(赫夫曼樹) 6.6.2 赫夫曼編碼 6.7 回溯法... 5.6 m元多項式的表示 5.7 廣義表的遞歸算法第6章 樹和 二叉樹 6.1 樹的定義和基本術語 6.2 二叉樹 6.2.1...
作者簡介 內容簡介 目錄 中國鐵道出版社出版圖書 -
樹結構
的實現方式實現。左兒子右兄弟樹的左兒子右兄弟表示法又稱為 二叉樹表示法...
內容簡介 定義 概念介紹 樹的表示 樹的遍歷 -
數據結構(王祖儷)
1595.6.1 最優二叉樹(哈夫曼樹)的定義 1595.6.2 最優二叉樹(哈夫曼樹)的套用 1605.6.3 最優二叉樹(哈夫曼樹)的創建 163... 二叉樹 1095.2.1 二叉樹的定義 1095.2.2 二叉樹的性質...
內容簡介 目錄 -
數據結構基於C++模板類的實現
7.1.2樹的表示 7.1.3樹的特點 7.1.6樹的存儲
圖書信息 作者簡介 內容簡介 目錄 -
數據結構課程學習與應考指導
876.2.15遍歷線索二叉樹886.2.16最優二叉樹(也稱哈夫曼樹...)725.3典型例題解析73第6章樹和二叉樹816.1知識點816.2內容精要...826.2.4樹的相關術語826.2.5二叉樹的定義和它的五種形態...
圖書簡介 目錄