郝斌資料結構入門 P63 樹的儲存

2021-08-31 06:49:45 字數 766 閱讀 2466

郝斌資料結構入門--p63-樹的儲存

完全二叉樹:

先把一棵樹轉換為滿二叉樹,再把最底層最右邊刪掉,意味著下圖黃色框可以刪掉,不儲存。剩下的一棵樹就是完全二叉樹。

為什麼乙個二叉樹以陣列的方式儲存時,必須要求這個數是完全二叉樹?

上圖紅色是真正的點(有效點)。如果只存放有效的點,無法確定這棵樹是怎樣構造出來的。別人不知道以前的樹是怎樣子的,所以不能只保留有效的點。

二叉樹的儲存

連續儲存[完全二叉樹]:

優點:查詢某個節點的父節點和子節點速度很快(也包括判斷有沒有子節點)

缺點:耗用記憶體空間過大

鏈式儲存

一般樹的儲存

雙親表示法:求父節點方便

孩子表示法:求子節點方便

雙親孩子表示法:求父節點和子節點都很方便

二叉樹表示法:把乙個普通樹轉化成二叉樹來儲存,

具體轉換方法:設法保證任意乙個節點的

左指標域指向它的第乙個孩子

右指標域指向它的兄弟

只要能滿足此條件,就可以把乙個普通樹轉化為二叉樹

乙個普通樹轉化成的二叉樹一定沒有右子樹

森林的儲存

郝斌老師 資料結構入門 之快速排序

include void quicksort int int,int int findpos int int,int 主要思想 通過移動和賦值的方式確定第乙個元素的最終位置,然後在用同樣的方法分別確定第乙個元素的最終位置的左邊一部分和右邊一部分的第乙個元素的最終位置,以此類推 intmain voi...

資料結構之樹的儲存結構

樹是一種一對多的資料結構,這個一對多很好解釋,就比如乙隻狗媽媽,會有多隻小奶狗,這不就有一對多的意思嗎!樹的根節點有且只有乙個,就比如小奶狗們只有乙個親狗媽。那麼圖上的 b c d e 都是樹的根節點 a 的孩子 總之,樹就是有很多結點構成,只不過這些結點在樹中會有不同的稱呼,來分析一下下圖 度 結...

《資料結構》樹的儲存結構2019 10 15

定義 1 只有乙個根結點 2 其餘結點為幾個不相交的有限集,他們本身也是一棵樹,且被稱為根的子樹。樹的定義就用到了遞迴的方法。幾個概念 結點的度 該結點擁有的子樹的數量 葉結點 度為0的結點 樹的度 結點度的最大值 層次 根結點為第一層,其孩子為第二層,以此類推。深度 結點的最大層數 高度 數量和深...