《数据结构》知识点Day_04
樹和二叉樹
樹:是N(N≥0)個結點的有限集合,N=0時,稱為空樹,這是一種特殊情況。
樹的定義是遞歸的,是一種遞歸的數(shù)據(jù)結構。樹作為一種邏輯結構,同時也是一種分層結構,具有以下兩個特點:
- 樹的根結點沒有前驅結點,除根結點之外的所有結點有且僅有一個前驅結點。
- 樹中所有結點可以有零個或者多個后繼結點。
先(前)序遍歷: 對訪問到的每個結點,先訪問根結點,然后是左結點,然后是右結點。
中序遍歷: 對訪問到的每個結點,先訪問左結點,然后是根結點,然后是右結點。
后序遍歷: 對訪問到的每個結點,先訪問左結點,然后是右結點,然后是根結點。
樹轉二叉樹
1.兄弟+橫線
樹中的每一個結點,如果該結點有兄弟結點,那么就在這幾個兄弟結點之間進行連線。
2.保存長子線
對于樹中的每一個結點,如果其有多個子節(jié)點,保存其第一個子節(jié)點的連線,去除其他子節(jié)點的連線。
3.調整位置
對每個結點調整一定的位置,使其符合二叉樹的標準。
森林轉二叉樹
1.將每課樹轉換成二叉樹
2.將每課樹的根結點連接起來,把每棵樹的根當做兄弟結點處理,兄弟加橫線
3.旋轉調整位置
二叉樹轉化樹
1.若某結點的左孩子結點存在,將左孩子結點的右孩子結點、右孩子結點的右孩子結點……都作為該結點的孩子結點,將該結點與這些右孩子結點用線連接起來;
2.刪除原二叉樹中所有結點與其右孩子結點的連線;
3.調整位置
二叉樹轉化森林
1.先把每個結點與右孩子結點的連線刪除,得到分離的二叉樹;
2.把分離后的每棵二叉樹轉換為樹;
3.調整位置
總結
以上是生活随笔為你收集整理的《数据结构》知识点Day_04的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《数据结构》知识点Day_03
- 下一篇: 《数据结构》知识点Day_05