我的是全網最清晰的解釋:
① 森林的非終端結點一定是二叉樹的非終端結點,森林的葉子結點一定是二叉樹的空左指針結點(值得注意的是,森林的葉子到二叉樹里,可能是葉子也可能不是,這取決於有沒有兄弟)
② 設森林F的終端結點數為f,總結點數 f + n。二叉樹B每個結點有兩個指針,總指針數 2(f + n)
③ 二叉樹B除去根結點,都是某個結點的孩子, 也就是總有:某個結點必有指針指向他,因此占用指針數為 f + n – 1,減1是因為根結點不用指針指向
④ 剩余空指針數為 2(f + n)- (f + n - 1)= f + n + 1 個
⑤ f 個終端結點沒有孩子,因此轉換為二叉樹B后,這些結點的左指針必為空,所以空的左指針域為f 個,除此之外都不可能是空左指針的結點
綜上,二叉樹B 中右指針域為空的結點有 ( f + n + 1 ) - f = n + 1
參考 https://blog.csdn.net/nanbei1/article/details/105627337