版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1,第十章 樹的介紹,主要內(nèi)容無向樹及其性質(zhì)生成樹根樹及其應(yīng)用,10.1 無向樹及其性質(zhì),定義10.1 連通無回路的無向圖稱為無向樹, 簡稱樹. 每個連通分支都是樹的無向圖稱為森林. 平凡圖稱為平凡樹. 在無向樹中, 懸掛頂點稱為樹葉, 度數(shù)大于或等于2的頂點稱為分支點.例,f,f,f,星形樹,3,無向樹的性質(zhì),定理10.1 設(shè)G=是n階m條邊的無向圖,則下面各命題是等價的:(1) G 是樹(2) G 中任意兩個頂
2、點之間存在惟一的路徑.(3) G 中無回路且 m=n?1. (4) G 是連通的且 m=n?1.(5) G 是連通的且 G 中任何邊均為橋.(6) G 中沒有回路,但在任何兩個不同的頂點之間加一條新邊后所得圖中有惟一的一個含新邊的圈.,4,(3)?(4). 只需證明G連通. 用反證法. 否則G有s(s?2)個連通分支, 它們都是樹. 于是, 有mi=ni?1,這與m=n?1矛盾.,證明,(2)?(3). 若G中有回路,則
3、回路上任意兩點之間的路徑不惟一. 對n用歸納法證明m=n?1. 當(dāng)n=1時成立. 設(shè)n?k時成立,證n=k+1時也成立:任取一條邊e,G?e有且僅有兩個連通分支G1,G2 . ni?k,由歸納假設(shè)得mi=ni?1, i=1,2. 于是, m=m1+m2+1=n1+n2?2+1=n?1.,,證 (1)?(2). 若路徑不惟一, 必有回路.,5,(4)?(5). 只需證明G
4、中每條邊都是橋. 下述命題顯然成立: G 是 n 階 m 條邊的無向連通圖,則 m?n?1. ?e?E, G?e只有n?2條邊,由命題可知G?e不連通,故e為橋.,證明,(5)?(6). 由(5)易知G為樹. 由(1)?(2)知,?u,v?V(u?v), u到v有惟一路徑,加新邊(u,v)得惟一的一個圈.,(6)?(1). 只需證明G連通,這是顯然的.,解得 x ? 2.,定理10.2 設(shè)T是n階非平凡的無向樹,則T 中至
5、少有兩片樹葉.,無向樹的性質(zhì),證 設(shè) T 有 x 片樹葉,由握手定理及定理10.1可知,,例1 已知無向樹T中有1個3度頂點,2個2度頂點,其余頂點全是樹葉,試求樹葉數(shù),并畫出滿足要求的非同構(gòu)的無向樹.,解 設(shè)有x片樹葉,n = 3+x. 2m = 2(n?1) = 2?(2+x) = 1?3+2?2+x解出x = 3,故T有3片樹葉.,7,例2 已知無向樹T有5片樹葉,2度與3度頂點各1個,其余頂
6、點的度數(shù)均為4,求T的階數(shù)n,并畫出滿足要求的所有非同構(gòu)的無向樹.,例題,解 設(shè)T的階數(shù)為n, 則邊數(shù)為n?1,4度頂點的個數(shù)為n?7. 由握手定理, 2m = 2(n?1) = 5?1+2?1+3?1+4(n?7),解出n = 8,4度頂點為1個.,8,10.2 生成樹,定義10.2 如果無向圖G的生成子圖T是樹,則稱T是G的生成樹. 設(shè)T是G的生成樹,G的在T中的邊稱為T的樹枝,不在T中的邊為T的弦. 稱T的所有弦
7、的導(dǎo)出子圖為T的余樹,記作 . 例,9,定理10.3 無向圖G有生成樹當(dāng)且僅當(dāng)G連通.,生成樹存在條件,推論 G為n階m條邊的無向連通圖,則m?n?1.,證 必要性顯然. 證充分性.若G中無回路,則G為自己的生成樹.若G中含圈,任取一圈,隨意地刪除圈上的一條邊; 若仍有圈, 再任取一個圈并刪去這個圈上的一條邊,重復(fù)進行, 直到最后無圈為止. 最后得到的圖無圈(當(dāng)然無回路)、連通且是G的生成子圖,因而是G的生成樹.
8、這個產(chǎn)生生成樹的方法稱為破圈法.,10,最小生成樹,定義10.3 設(shè)無向連通帶權(quán)圖G=,T是G的一棵生成樹,T的各邊權(quán)之和稱為T的權(quán),記作W(T).G的所有生成樹中權(quán)最小的生成樹稱為G的最小生成樹.,避圈法(Kruskal)輸入: 連通圖G=輸出: G的最小生成樹T 1. 將G中非環(huán)邊按權(quán)從小到大排列: W(e1)?W(e2)? …?W(em).2. 令T?{e1}, i?2.3. 若ei與T中的邊不構(gòu)成回路,
9、則令T?T?{ei}.4. 若|T|<n-1, 則令i?i+1, 轉(zhuǎn)3.,11,例4 求圖的一棵最小生成樹.,W(T)=38,實例,12,16.3 根樹及其應(yīng)用,定義10.4 若有向圖的基圖是無向樹, 則稱這個有向圖為有向樹. 一個頂點的入度為0、其余頂點的入度為1的有向樹稱為根樹.入度為0的頂點稱為樹根,入度為1出度為0的頂點稱為樹葉,入度為1出度不為0的頂點稱為內(nèi)點,內(nèi)點和樹根統(tǒng)稱為分支點.從樹根到頂點v
10、的路徑的長度(即, 路徑中的邊數(shù))稱為v的層數(shù). 所有頂點的最大層數(shù)稱為樹高.,根樹的畫法——樹根放上方,省去所有有向邊上的箭頭例,13,家族樹與根樹的分類,定義10.5 設(shè)T為一棵非平凡的根樹, ?vi,vj?V(T), 若vi可達vj,則稱vi為vj的祖先, vj為vi的后代; 若vi鄰接到vj, 則稱vi為vj的父親, vj為vi的兒子. 若vj,vk的父親相同, 則稱vj與vk是兄弟. 將根樹T中層數(shù)相同
11、的頂點都標定次序, 稱T為有序樹.根樹的分類: (1) 若T的每個分支點至多有r個兒子,則稱T為r叉樹. (2) 若T的每個分支點都恰好有r個兒子, 則稱T為r叉正則樹. (3) 若T是r叉正則樹, 且所有樹葉的層數(shù)相同, 則稱T為r叉完全正則樹. 有序的r叉樹, r叉正則樹, r叉完全正則樹分別稱作 r叉有序樹, r叉正則有序樹, r叉完全正則有序樹.,14,根子樹與最優(yōu)二叉樹,定義10.6 設(shè)T
12、為一棵根樹, ?v?V(T), 稱v及其后代的導(dǎo)出子圖Tv為以v為根的根子樹. 2叉正則有序樹的每個分支點的兩個兒子導(dǎo)出的根子樹分別稱為該分支點的左子樹和右子樹.定義10.7 設(shè)2叉樹T 有t片樹葉v1, v2, …, vt, 權(quán)分別為w1, w2,…, wt, 稱 為T 的權(quán), 其中l(wèi)i是vi 的層數(shù). 在所有有t片樹葉, 帶權(quán)w1, w2, …, wt 的2叉樹中, 權(quán)最小的2叉樹
13、稱為最優(yōu)2叉樹.,15,Huffman算法,Huffman算法輸入: 實數(shù)w1, w2, …, wt輸出: 最優(yōu)二叉樹1. 作t片樹葉, 分別以w1, w2, …, wt為權(quán).2. 在所有入度為0的頂點(不一定是樹葉)中選出兩個權(quán)最小的頂點, 添加一個新分支點, 它以這2個頂點為兒子, 其權(quán)等于這2個兒子的權(quán)之和.3. 重復(fù)2, 直到只有1個入度為0的頂點為止. W(T)等于所有分支點的權(quán)之和.,16,例 5 求權(quán)為2,
14、 2, 3, 3, 5的最優(yōu)樹. 解,實例,W(T)=34,17,前綴碼,定義10.8 設(shè)?1?2…?n?1?n是長為n的符號串, 稱其子串?1, ?1?2, …, ?1?2…?n為該符號串的前綴. 設(shè)A={?1,?2,…,?m}是一個符號串集合, 若A的任意兩個符號串都互不為前綴, 則稱A為前綴碼. 由0-1符號串構(gòu)成的前綴碼稱作二元前綴碼. 例 {1, 00, 011, 0101, 01001, 01000}為前綴
15、碼. {1, 00, 011, 0101, 0100, 01001, 01000}不是前綴碼.,18,用2叉樹產(chǎn)生二元前綴碼例,一棵正則2叉樹產(chǎn)生惟一的前綴碼(按左枝標0,右枝標1),前綴碼的產(chǎn)生,19,最佳前綴碼,設(shè)符號Ai在傳輸中出現(xiàn)的頻率為pi, 二元前綴碼的長為li, 1?i?t,傳輸m個符號需要m 個二進制位. 最小的二元前綴碼稱作最佳前綴碼.最
16、佳前綴碼可用Huffman算法計算以頻率為權(quán)的最優(yōu)二叉樹產(chǎn)生.例6 設(shè)在通信中, 八進制數(shù)字出現(xiàn)的頻率如下: 0:25% 1:20% 2:15% 3:10% 4:10% 5:10% 6:5% 7:5%求傳輸它們的最佳前綴碼, 并求傳輸10n (n?2)個按上述比例出現(xiàn)的八進制數(shù)字需要多少個二進制數(shù)
17、字?若用等長的(長為3)的碼字傳輸需要多少個二進制數(shù)字?,20,解 傳輸100個八進制數(shù)字中各數(shù)字出現(xiàn)的個數(shù), 即以100乘各頻率為: 25, 20, 15, 10, 10, 10, 5, 5, 以它們?yōu)闄?quán)構(gòu)造最優(yōu)二叉樹.,實例,最佳前綴碼 01-----0 11-----1 001-----2 100-----3 101-----4 0001-----5
18、00000-----6 00001-----7,W(T)=285,傳輸10n(n?2)個八進制數(shù)字, 用最佳前綴碼需2.85?10n位, 用等長碼需3?10n位.,21,有序樹的行遍方式,行遍(周游)有序樹——對每個頂點訪問且僅訪問一次. 對2叉有序正則樹的周游方式:① 中序行遍法. 訪問次序為:左子樹、根、右子樹② 前序行遍法. 訪問次序為:根、左子樹、右子樹③ 后序行遍法. 訪問次序為:左子樹、右子樹、根,例
19、 用中序, 前序, 后序行遍法訪問的結(jié)果分別為: b a (f d g) c e, a b (c (d f g) e), b ((f g d) e c) a,22,用2叉有序樹存放算式,用2叉有序樹表示含有2元運算和1元運算的算式: 每個分支點放一個運算符, 其運算對象是以它的兒子為樹根的子樹所表示的子算式. 規(guī)定運算對象的排列順序, 如被除數(shù)、被減數(shù)放在左邊.所有的變量和常量都放在樹葉上.,
20、例 ((b+(c+d))?a)?((e?f)?(g+h)?(i?j))用中序行遍法訪問還原算式,23,波蘭符號法,波蘭符號法(前綴符號法): 按前序行遍法訪問存放算式的2叉有序樹, 且不加括號.運算規(guī)則: 從右到左每個運算符號對其后面緊鄰的兩個或一個對象進行運算.如對上頁的算式 ? ? ? b + c d a ? ? e f ? + g h ? i j 逆波蘭符號法(后綴符號法): 按后序行遍
21、法訪問,且不加括號.運算規(guī)則:從左到右每個運算符對其前面緊鄰的兩個或一個對象進行運算.如對上頁的算式 b c d + + a ? e f ? g h + i j ? ? ? ?,24,第十章 習(xí)題課,主要內(nèi)容無向樹及其性質(zhì)生成樹、最小生成樹根樹及其分類、最優(yōu)二叉樹、最佳前綴碼、波蘭符號法、逆波蘭符號法基本要求深刻理解無向樹的定義及性質(zhì)熟練地求解無向樹準確地求出給定帶權(quán)連通圖的最小生成樹理解根樹及其
22、分類等概念熟練掌握求最優(yōu)二叉樹及最佳前綴碼的方法掌握波蘭符號法與逆波蘭符號法,25,練習(xí)1,1. 無向樹 T 有ni個i 度頂點,i=2, 3, …,k,其余頂點全是樹葉,求T 的樹葉數(shù).,26,2.設(shè)n階非平凡的無向樹T中,?(T) ? k,k ? 1. 證明T至少 有k片樹葉.,,練習(xí)2,27,3.設(shè)G為n 階無向簡單圖,n?5,證明G 或 中必含圈.,練習(xí)3,28,證二. 在G與 中有一個(不妨設(shè)為G)邊數(shù)
23、若G是森林, 則m?n-1, 矛盾.,練習(xí)3,29,4.畫出基圖為圖所示無向樹的所有非同構(gòu)的根樹,練習(xí)4,解 以a, b, c, d為根的根樹同構(gòu), 選a為根, 如(1); 以 e, g 為根的根樹同構(gòu),取 g為根,如(2); 以 f 為根,如(3) .,(1) (2) (3),30,5.設(shè)T 是正則2叉樹,T 有t 片樹葉
24、,證明T的階數(shù) n=2t?1.,證一. 利用正則2叉樹的定義及樹的性質(zhì)直接證明.(1) n = t+i (i為分支點數(shù))(2) n = m+1 (m為T的邊數(shù))(3) m = 2i (正則2叉樹定義)由(2)、(3)得 ,代入(1)得n = 2t?1.,練習(xí)5,證二. 利用握手定理及樹的性質(zhì)證.T的樹根為2度頂點,所有內(nèi)點為3度頂點,葉為1度頂點,有(1) 2m = 2+3(i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 離散數(shù)學(xué)-第十章的課件
- 高等數(shù)學(xué)-離散數(shù)學(xué)及其應(yīng)用-課件-第十一章幾種特殊的圖
- 高等數(shù)學(xué)-離散數(shù)學(xué)及其應(yīng)用-課件-第二章-命題邏輯等值演算
- 高等數(shù)學(xué)-離散數(shù)學(xué)及其應(yīng)用-課件-第九章圖的基本概念
- 第十章
- 商務(wù)管理綜合應(yīng)用第十章課件
- 高等數(shù)學(xué)-離散數(shù)學(xué)及其應(yīng)用-課件-第四章一階邏輯基本概念
- 離散數(shù)學(xué)高等里離散數(shù)學(xué)-課件-chapt15
- 工程經(jīng)濟第十章課件
- 第十章 指針
- 第十章排序
- 第十章 民法
- 第十章.doc
- 第十章.doc
- 第十章 能及其轉(zhuǎn)化
- 第十章供電
- 第十章 控制
- 第十章代理
- 第十章軸承
- 第十章 谷物
評論
0/150
提交評論