树——通用树到二叉树的转换
1,已經創建了通用樹結構,有必要創建另一種樹結構嗎?
?
2,簡化樹就直接減少結點中孩子的數量,但是這樣樹還能通用嗎?
??????
3,通用樹結構的回顧:
?
?????? 1,雙親孩子表示法:
????????????? 1,每個結點都有一個指向雙親的指針;
????????????? 2,每個結點都有若干個指向其孩子的指針;
?????????????
4,另一種樹結構模型:
?
?????? 1,孩子兄弟表示法:
????????????? 1,每個結點都有一個指向其第一個孩子的指針;
????????????? 2,每個結點都有一個指向其第一個右兄弟的指針;
???????????????????? 1,孩子兄弟表示法可以描述普通的樹型結構,因為通過根結點可以訪問到這一個樹形結構的每一個結點;
????????????????????
5,孩子兄弟表示法的特點:?????
?????? 1,能夠表示任意的樹形結構;
?????? 2,每個結點包含一個數據成員和兩個指針成員;
????????????? 1,形態相對固定,實現相對簡單;
?????? 3,孩子結點指針和兄弟結點指針構成了“樹杈”;
????????????? 1,二叉表示法就是“孩子兄弟”表示模型,其抽象后就是二叉樹,但實現不是用“孩子兄弟”指針實現的;
????????????? 2,二叉樹是即將討論的內容,不在關注通用樹及其在二叉或者“孩子兄弟”表示法下是如何轉換的,重點放在二叉樹的相關內容創建和算法研究;
??????
6,二叉樹的定義:
?????? 1,二叉樹是由 n(n >= 0)個結點組成的有限集合,該集合或者為空,或者是由一個根結點加上兩顆分別稱為左子樹和右子樹的、互不相交的二叉樹組成;
?????? ??
7,二叉樹五種形態:
?
?????? 1,二叉樹結點只有三種形態,依據子結點數目分;
??????
8,特殊二叉樹:
?
?????? 1,滿二叉樹(Full Binary Tree):
????????????? 1,如果二叉樹中所有分支結點的度數都為 2,且葉子結點都在同一層次上,則稱這類二叉樹為滿二叉樹;
???????????????????? 1,除了葉結點,任何分支結點度數都為 2,且葉結點在同一層次;
?????? 2,完全二叉樹(Complete Binary Tree):
????????????? 1,如果一棵具有 n 個結點的高度為 k 的二叉樹,它的每一個結點都與高度為 k 的滿二叉樹編號為 1到 n 的結點一一對應,則稱這棵樹為完全二叉樹。(從上到下從左到右編號)
????????????? ??
9,完全二叉樹特性:
?????? 1,同樣結點數的二叉樹,完全二叉樹的高度最小;
????????????? 1,按順序排列的;
?????? 2,完全二叉樹的葉結點僅出現在最下面兩層:
????????????? 1,最底層的葉結點一定出現在左邊;
????????????? 2,倒數第二層的葉結點一定出現在右邊;
????????????? 3,完全二叉樹中度為 1 的結點只有左孩子;
???????????????????? 1,完全二叉樹是還沒形成的滿二叉樹,滿二叉樹是完全二叉樹;
?????????????
10,小結:
?????? 1,通用樹結構采用了雙親結點表示法進行描述;
?????? 2,孩子兄弟表示法有能力描述任意類型的樹結構;
?????? 3,孩子兄弟表示法能夠將通用樹轉化為二叉樹;
?????? 4,二叉樹是最多只有兩個孩子的樹;
轉載于:https://www.cnblogs.com/dishengAndziyu/p/10925370.html
總結
以上是生活随笔為你收集整理的树——通用树到二叉树的转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试管理工具禅道开源版下载安装
- 下一篇: tensorflow tfrecoder