树和森林转二叉树,二叉树无右孩子(或右指针域为空)的结点个数计算思路
生活随笔
收集整理的這篇文章主要介紹了
树和森林转二叉树,二叉树无右孩子(或右指针域为空)的结点个数计算思路
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前提是知道非終端結點(分支結點)的個數,假設非終端結點的個數為n
1.對于樹轉二叉樹:
因為轉化規則是“左孩子右兄弟”,如果有n個分支結點,因為每個分支結點都會有孩子,這些孩子都是兄弟,然而最右邊的孩子已經沒有右兄弟了,沒有右兄弟就意味著在轉化為二叉樹后這個孩子沒有右孩子——即右指針域為空。
又因為每個分支結點都存在一個沒有右兄弟的孩子,所以n個分支結點就存在n個沒有右兄弟的孩子,在轉化為二叉樹后這些孩子的右指針域都為空。
最后,不要忘記樹的根結點是沒有兄弟的,所有在轉化為二叉樹后根結點的右指針域也為空,所以二叉樹中右指針域為空的結點個數是n+1。
2.對于森林轉二叉樹:
和樹轉二叉樹類似,區別在于森林由多棵樹組成,第2棵、第3棵……的根結點都是上一棵樹的根結點的右孩子。所以在森林轉二叉樹時,除了最后一棵樹之外,其他每棵樹的根結點都存在右孩子。
因為森林中非終端結點的個數為n,所以二叉樹中右指針域為空的結點個數是n+1。
總結
以上是生活随笔為你收集整理的树和森林转二叉树,二叉树无右孩子(或右指针域为空)的结点个数计算思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 先序序列为a、b、c、d的不同二叉树的个
- 下一篇: 递归和非递归实现二叉排序树(BST)的查