2018-10-29 說說二叉樹

上學(xué)的時(shí)候是學(xué)過數(shù)據(jù)結(jié)構(gòu)的羔沙。躺涝。可是對(duì)于二叉樹扼雏,提起來總是一臉懵逼坚嗜。總是看著黑板上一堆圈圈杠杠诗充。苍蔬。什么前序,中序蝴蜓,后續(xù)遍歷碟绑,很是莫名俺猿。。我在想這到底在干什么格仲?押袍??因此埋下坑凯肋,最近看java基礎(chǔ)谊惭,發(fā)現(xiàn)一些紅黑樹的應(yīng)用,對(duì)二叉樹若有所悟侮东。

首先二叉樹結(jié)構(gòu)的基本參數(shù)圈盔,自己(節(jié)點(diǎn)),父節(jié)點(diǎn)苗桂,左子節(jié)點(diǎn)和右子節(jié)點(diǎn)药磺;
然后來看二叉樹能干什么;來說說我是怎么發(fā)現(xiàn)的煤伟,因?yàn)橹皩?duì)這個(gè)概念一直很模糊癌佩。。
首先便锨,set和treeSet的區(qū)別围辙,treeSet是有序的,然后map和TreeMap的區(qū)別放案,TreeMap是有序的姚建,因此我認(rèn)為Tree就是個(gè)排序方法;
那怎么排序呢吱殉,要排序肯定對(duì)象實(shí)現(xiàn)了比較方法comparable掸冤,然后二叉樹結(jié)構(gòu)就是最簡(jiǎn)單的,N個(gè)對(duì)象比大小友雳,第一個(gè)就是父節(jié)點(diǎn)稿湿,然后第二個(gè)數(shù)如果比第一個(gè)小就是左子樹,比第一個(gè)大就是右子樹押赊,依次類推饺藤。。

說完二叉樹流礁,再說java為什么要用紅黑樹涕俗,所謂紅黑樹就是平衡二叉樹的特殊實(shí)現(xiàn),二叉樹為什么要平衡呢神帅?
舉例再姑,如果N個(gè)數(shù)是從小到大的。找御。那個(gè)二叉樹結(jié)構(gòu)不就成了一條斜線嗎询刹。谜嫉。如果要找其中一個(gè)數(shù),豈不是要把每個(gè)節(jié)點(diǎn)都過一遍凹联。。
所以平衡二叉樹要做的是讓根節(jié)點(diǎn)左右邊的節(jié)點(diǎn)數(shù)差不多哆档。
比如一條直線的二叉樹蔽挠,如果從中間折斷,它依然滿足左邊小瓜浸,右邊大的基本特性澳淑,但是如果查詢一個(gè)值,至少我們可以減少一半的查詢效率插佛;因?yàn)橹虚g這個(gè)數(shù)是中間值杠巡,如果x比中間值大,那么這個(gè)數(shù)肯定在右邊雇寇,反之亦然

當(dāng)然這種平衡二叉樹數(shù)據(jù)結(jié)構(gòu)的增刪改查的效率是比不上鏈表氢拥,但要保證數(shù)據(jù)的有序性,還要算上效率锨侯,那平衡二叉樹非常nice

既然平衡二叉樹已經(jīng)如此優(yōu)秀嫩海,那么紅黑樹又是為什么出現(xiàn)呢?
我們?cè)趯?shí)現(xiàn)平衡二叉樹時(shí)囚痴,隨著數(shù)據(jù)量的增大叁怪,有時(shí)一個(gè)子節(jié)點(diǎn)的增加可能會(huì)讓整個(gè)樹發(fā)現(xiàn)大范圍的翻轉(zhuǎn),那么如果標(biāo)識(shí)紅的子節(jié)點(diǎn)是黑深滚,黑的子節(jié)點(diǎn)是紅奕谭,將二叉樹一層層分開,為了滿足紅黑樹的特性痴荐,平衡二叉樹必然不能發(fā)生大范圍翻轉(zhuǎn)血柳,缺點(diǎn)是紅黑樹的查詢速率沒有平衡樹高,但是修改蹬昌,刪除操作遠(yuǎn)優(yōu)于平衡二叉樹

再說說前種后序遍歷混驰,既然二叉樹是有序的,那我們就把一串?dāng)?shù)字按從小到大輸出皂贩,或者從大到小輸出栖榨。。但是直接一串?dāng)?shù)想不出來明刷,網(wǎng)上隨便找個(gè)圖
先序 abdefcghi
中序 dbefaghci
后序 defbhgica
如果滿足大小關(guān)系 婴栽,那么有 B<A,D<B,F>B,E<F,C>A,G<C.I>C,H>G
再說推斷關(guān)系,D和E誰更小辈末,如果E<D那么E應(yīng)該是D的左子節(jié)點(diǎn)愚争,然后不是映皆,說明D<E;

那么轰枝,正確的從小到大的順序是DBEFAGHC 即是二叉樹的中序遍歷

至于先序和后序捅彻,我倒是沒什么想法,百度后鞍陨,發(fā)現(xiàn)先序用來展示文件夾結(jié)構(gòu),如果用來展示文件夾步淹,a下面有bc,但是b下還有文件诚撵,所以先不展示c,b下面有df,f下有e所有先e后f,再之后是本該是c可c下還有g(shù)缭裆,g下還有h,所以為ghc寿烟,最后是g平級(jí)的i

后序是用來計(jì)算文件大小,這個(gè)暫時(shí)理解不了澈驼,可能展示了自底向上的一種統(tǒng)計(jì)方式吧。筛武。

至于紅黑樹具體怎么實(shí)現(xiàn)缝其,https://www.cnblogs.com/skywang12345/p/3624343.html這篇文章講的非常清楚

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市畅铭,隨后出現(xiàn)的幾起案子氏淑,更是在濱河造成了極大的恐慌,老刑警劉巖硕噩,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件假残,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡炉擅,警方通過查閱死者的電腦和手機(jī)辉懒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谍失,“玉大人眶俩,你說我怎么就攤上這事】煊悖” “怎么了颠印?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)抹竹。 經(jīng)常有香客問我线罕,道長(zhǎng),這世上最難降的妖魔是什么窃判? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任钞楼,我火速辦了婚禮,結(jié)果婚禮上袄琳,老公的妹妹穿的比我還像新娘询件。我一直安慰自己燃乍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布宛琅。 她就那樣靜靜地躺著刻蟹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪夯秃。 梳的紋絲不亂的頭發(fā)上座咆,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音仓洼,去河邊找鬼。 笑死堤舒,一個(gè)胖子當(dāng)著我的面吹牛色建,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播舌缤,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼箕戳,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了国撵?” 一聲冷哼從身側(cè)響起陵吸,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎介牙,沒想到半個(gè)月后壮虫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡环础,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年囚似,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片线得。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡饶唤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贯钩,到底是詐尸還是另有隱情募狂,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布角雷,位于F島的核電站祸穷,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏谓罗。R本人自食惡果不足惜粱哼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望檩咱。 院中可真熱鬧揭措,春花似錦胯舷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至躬充,卻和暖如春逃顶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背充甚。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工以政, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人伴找。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓盈蛮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親技矮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子抖誉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345