[英]Given a number n, how many balanced binary trees (not binary search trees) are there?
[英]Given a number n and k, how many balanced (height-balanced)binary trees with k leaves are there?
我們有 n 個節點和 k 個數字,我們如何計算(例如,使用動態規划)具有 n 個節點和 k 個葉子的所有高度平衡樹?
(高度平衡二叉樹是葉子高度最大差為1的樹。)
關於這些樹的假設/定義:
鑒於上述情況,該樹由高度h的滿二叉樹-1加在底層的一個或多個葉節點。 葉子的總數等於我們添加的葉子的數量,加上我們沒有添加任何孩子的上一層節點的數量。
因此,在高層次上,算法如下:
在實現這一點時,一定要考慮到沒有給定n和k值的樹的可能性; 對於任何給定的n ,對於滿足上述約束的樹,實際上只有特定范圍的k值是可能的。 如果k超出該范圍,則實現需要返回 0。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.