N元樹對於每個節點有N個子節點。如果樹有M個非葉節點,如何找到葉節點的no?尋找葉節點的數量
Q
尋找葉節點的數量
3
A
回答
5
首先,如果根級別爲0
,那麼該樹的K
級將具有N^K
節點。您可以逐級開始遞增計數器,直到獲得M
節點。通過這種方式,您會發現樹由多少個層構成。並且葉節點的數量是最後一級上的節點數量 - 它是N^lastLevel
。
下面是一個例子:N = 3, M = 4
。
First level = 3^0 = 1
Second level = 3^1 = 3
1 + 3 = 4
所以我們發現樹有兩個級別(從0開始計數)。 答案是3^2 = 9
。
注意:您也可以直接找到層數,通過注意到M
是幾何級數的總和:1 + 3 + 9 + 27 ... = M
希望這是顯而易見的。
1
從數學上講,節點的幾何級數增加。
第0級 - 1
第一級 - N的
第二級 - N^2
第三級 - N的^ 3
.... 第m個水平 - N R個米
所以總第m級節點的數目爲1 + n + n^2 + .. + n^m-1。 (1-n ^(m + 1))/(1-n ^(m + 1))+ 1^n),我們稱這個數量爲K.
現在我們需要的是葉節點的數量是n^m,我們得到的是K.即非葉節點的總數。做一些數學公式調整你會發現
N R個M = K *(N-1)+ 1
例如可以說在三元樹中非葉節點的總數是40,然後使用這個公式可以得到葉節點的總數爲81,這是正確的答案。
相關問題
- 1. Cytoscape:找到特定節點的葉子
- 2. 計數JSON葉節點
- 3. ElementTree findtext找不到葉節點
- 4. 使用HIERARCHYID找到葉節點
- 5. 找到特定節點的所有子節點,直到葉節點
- 6. 計算二叉樹中的節點數和葉節點數
- 7. Python minidom尋找空的文本節點
- 8. c#xml尋找標題爲/的節點
- 9. 給定級別的二叉樹中的葉節點數量?
- 10. 保存AVL樹中節點下的樹葉數量
- 11. 尋找根節點x節點的第n個實例
- 12. 尋找在數量
- 13. 在Neo4J數據庫中查找葉節點
- 14. xslt - 提取葉節點
- 15. 泰坦圖葉節點
- 16. 莖和葉節點算法
- 17. GWT細胞樹 - 葉節點
- 18. 如何只在葉節點
- 19. 尋找免費節點和詹金斯
- 20. 遞歸XML步行尋找空節點
- 21. XML - 尋找穿越給定節點
- 22. 尋找數字的力量
- 23. 使用Xpath,找到包含ID =「userid」輸入框的最葉節點節點
- 24. 玫瑰樹在Haskell - 尋找葉
- 25. 尋找距離最近的向量點
- 26. 矢量數學 - 尋找2點的向量?
- 27. 尋找字節碼
- 28. 尋找將數據源節點添加到ODBC的腳本
- 29. 式尋找可能的AVL樹數與n個節點
- 30. 查找二叉搜索樹的葉節點