第六章樹的操作

1肾筐,遍歷二叉樹的順序和3中不同的打印順序
2,什么是線索二叉樹缸剪,其原理是什么吗铐,解決了什么問題?
3杏节,樹轉(zhuǎn)化為二叉樹的過程唬渗,及二叉樹轉(zhuǎn)化為樹的過程典阵。
4,森林轉(zhuǎn)為二叉樹的過程镊逝,二叉樹轉(zhuǎn)化為森林的過程
5壮啊,樹的遍歷,和森林的遍歷
6撑蒜,郝夫曼樹的定義及帶權(quán)路徑的定義
7歹啼,郝夫曼樹構(gòu)建過程
8 什么是郝夫曼編碼


1,遍歷二叉樹的順序和3中不同的打印順序
遍歷的順序都是一樣的座菠,先根結(jié)點再子結(jié)點狸眼,再從左到右。
前序遍歷辈灼,遍歷結(jié)點前打印結(jié)點份企。
中序遍歷也榄,遍歷完左子樹之后要遍歷右子樹前打印結(jié)點巡莹。
后序遍歷,遍歷完該結(jié)點的所有孩子結(jié)點后再打印該結(jié)點甜紫。
2降宅,什么是線索二叉樹,其原理是什么囚霸,解決了什么問題腰根?
加上線索的二叉鏈表稱為線索鏈表樹(指向前驅(qū)后繼的指針稱為線索)
原理,空指針的個數(shù)比結(jié)點個數(shù)多1拓型,可以用空指針指向該結(jié)點的前驅(qū)后繼额嘿。
如果該結(jié)點有左孩子結(jié)點就指向其左孩子結(jié)點,如果沒有就指向其前驅(qū)劣挫。
為了區(qū)分是指向其孩子結(jié)點還是前驅(qū)后繼册养,增加了2個極小的標(biāo)識域(ltag,rtag,0表示指向孩子压固,1表示指向前驅(qū)/后繼)
解決的問題球拦,解決了二叉樹結(jié)點只指向孩子結(jié)點難以找到雙親結(jié)點的過程。
3帐我,樹轉(zhuǎn)化為二叉樹的過程坎炼,及二叉樹轉(zhuǎn)化為樹的過程。
1拦键,加線谣光,所有兄弟結(jié)點間加一個線。
2芬为,去線萄金,樹中的每個結(jié)點只保留它與第一個孩子結(jié)點的連線狼钮,刪除它與其它孩子結(jié)點的連線。
3捡絮,層次調(diào)整熬芜,以樹的根為軸心,將整顆樹順時針旋轉(zhuǎn)一定角度福稳,使之結(jié)構(gòu)分明(第一個孩子是結(jié)點的左孩子涎拉,兄弟轉(zhuǎn)過來的孩子是結(jié)點的右孩子)
二叉樹轉(zhuǎn)為樹
1,加線的圆,若結(jié)點的左孩子結(jié)點存在鼓拧。將左孩子結(jié)點的右孩子結(jié)點,右孩子的右孩子越妈,右孩子的右孩子的右孩子...... 全部作為該結(jié)點的孩子季俩。
2,去線梅掠,刪除原二叉樹中所有結(jié)點與其右孩子的結(jié)點的連線
3酌住,層次調(diào)整,使其結(jié)構(gòu)層次分明阎抒。

4酪我,森林轉(zhuǎn)為二叉樹的過程,二叉樹轉(zhuǎn)化為森林的過程
森林轉(zhuǎn)為二叉樹的過程
1且叁,把每個樹轉(zhuǎn)為二叉樹都哭。
2,第一樹不動逞带,以后每棵樹的根結(jié)點作為上棵樹的根節(jié)點的右孩子(如何這棵樹本身就是二叉樹呢)

二叉樹轉(zhuǎn)化為森林
條件 如果一個二叉樹的根結(jié)點有右孩子欺矫,那么久可以轉(zhuǎn)化成森林
1,從根結(jié)點開始展氓,若有右孩子則刪除連線穆趴。分離后的二叉樹還有右孩子則連線刪除。
2带饱,再將分離的樹轉(zhuǎn)化成二叉樹毡代。

5,樹的遍歷勺疼,和森林的遍歷

  • 樹的遍歷

先根遍歷

先訪問樹的根結(jié)點
再依次先根遍歷根的每棵子樹

后根遍歷

先依次后根遍歷每棵子樹
然后再訪問根結(jié)點

  • 森林的遍歷

前序遍歷
先訪問森林中的第一棵樹的根結(jié)點教寂,再依次先根遍歷根的每棵子樹。
再用同樣的方式遍歷除了第一棵樹的森林

后序遍歷
先訪問森林中的第一棵樹执庐,后根遍歷的方式遍歷每棵子樹酪耕,然后再訪問根結(jié)點。
再用同樣的方式遍歷除了第一棵樹的森林

6轨淌,郝夫曼樹的定義及帶權(quán)路徑的定義
帶權(quán)路徑長度
所有葉子結(jié)點的帶權(quán)路徑長度之和
郝夫曼樹
帶權(quán)路徑長度最小的二叉樹稱為郝夫曼樹

7看尼,郝夫曼樹構(gòu)建過程
1,把所有有權(quán)值的葉子結(jié)點按照從小到大的順序排成一個有序序列盟步。
2,取序列中最小的2個結(jié)點作為一個新結(jié)點N1藏斩,新結(jié)點的權(quán)值為2個結(jié)點的和。
3却盘,將新的結(jié)點插入隊列中保持由小到大的順序狰域。直到形成新的根結(jié)點。

8 什么是郝夫曼編碼
1黄橘,設(shè)置需要編碼的字符集為{d1,d2,d3...dn},
2,各個字符在電文中出現(xiàn)的次數(shù)或頻率集合為{w1,w2,...wn}
3兆览,以d 作為葉子結(jié)點,以w 作為葉子的權(quán)重塞关。規(guī)定郝夫曼樹的左枝為0右枝為1 抬探。
4,從根結(jié)點到葉子結(jié)點帆赢,所經(jīng)過的路徑分支構(gòu)成的0和1的序列便為該結(jié)點對應(yīng)字符的編碼小压,這就是郝夫曼編碼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末匿醒,一起剝皮案震驚了整個濱河市场航,隨后出現(xiàn)的幾起案子缠导,更是在濱河造成了極大的恐慌廉羔,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件僻造,死亡現(xiàn)場離奇詭異憋他,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)髓削,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門竹挡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人立膛,你說我怎么就攤上這事揪罕。” “怎么了宝泵?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵好啰,是天一觀的道長。 經(jīng)常有香客問我儿奶,道長框往,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任闯捎,我火速辦了婚禮椰弊,結(jié)果婚禮上许溅,老公的妹妹穿的比我還像新娘。我一直安慰自己秉版,他們只是感情好贤重,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著清焕,像睡著了一般游桩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上耐朴,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天借卧,我揣著相機(jī)與錄音,去河邊找鬼筛峭。 笑死铐刘,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的影晓。 我是一名探鬼主播镰吵,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼挂签!你這毒婦竟也來了疤祭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤饵婆,失蹤者是張志新(化名)和其女友劉穎勺馆,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侨核,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡草穆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了搓译。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悲柱。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖些己,靈堂內(nèi)的尸體忽然破棺而出豌鸡,到底是詐尸還是另有隱情,我是刑警寧澤段标,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布涯冠,位于F島的核電站,受9級特大地震影響怀樟,放射性物質(zhì)發(fā)生泄漏功偿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望械荷。 院中可真熱鬧共耍,春花似錦、人聲如沸吨瞎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽颤诀。三九已至字旭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間崖叫,已是汗流浹背遗淳。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留心傀,地道東北人屈暗。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像脂男,于是被迫代替她去往敵國和親养叛。 傳聞我的和親對象是個殘疾皇子思杯,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 樹形結(jié)構(gòu)是一種十分重要的數(shù)據(jù)結(jié)構(gòu)鬓照。二叉樹、樹與樹林都屬于樹形結(jié)構(gòu)神年。 樹形結(jié)構(gòu)每個結(jié)點最多只有一個前驅(qū)結(jié)點汁讼,但可以有...
    cain_huang閱讀 1,953評論 0 11
  • 一些概念 數(shù)據(jù)結(jié)構(gòu)就是研究數(shù)據(jù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)以及它們之間相互關(guān)系淆攻,并對這種結(jié)構(gòu)定義相應(yīng)的運算,而且確保經(jīng)過這...
    Winterfell_Z閱讀 5,660評論 0 13
  • 樹(Tree)是 n >=0 個結(jié)點的有限集掉缺。n=0 時稱為空樹卜录。在任意一顆非空樹中:有且僅有一個特定的稱為根(R...
    yuzhiyi_宇閱讀 433評論 0 0
  • 以此文記錄學(xué)習(xí) 數(shù)據(jù)結(jié)構(gòu)-樹 的相關(guān)知識,以備后續(xù)回顧復(fù)習(xí)眶明。 一、樹 定義: 樹(Tree)是n(n>=0)個結(jié)點...
    逐日追星看月亮閱讀 526評論 0 0
  • 四、樹與二叉樹 1. 二叉樹的順序存儲結(jié)構(gòu) 二叉樹的順序存儲就是用數(shù)組存儲二叉樹柑土。二叉樹的每個結(jié)點在順序存儲中都有...
    MinoyJet閱讀 1,505評論 0 7