2
A
回答
4
假設一個簡單的結構:
node() :: {Key :: term(), Left :: node(), Right :: node()} | undefined.
該功能將執行在所述樹中的廣度優先搜索,並返回所述第一元件的中發現的深度(返回false
如果沒有節點被發現):
find(_Key, undefined) -> false;
find(Key, Tree) -> find(Key, [Tree], [], 0).
find(_Key, [], [], _Depth) -> % No more children
false;
find(Key, [], Children, Depth) -> % Next level, increase depth
find(Key, Children, [], Depth + 1);
find(Key, [{Key, _, _}|_Rest], _Children, Depth) -> % Found it!
Depth;
find(Key, [{_, Left, Right}|Rest], Children, Depth) -> % Add children to search
find(Key, Rest, add(Right, add(Left, Children)), Depth).
add(undefined, List) -> List;
add(E, List) -> [E|List].
(空樹只是undefined
)。
相關問題
- 1. C#查找二進制搜索樹中的特定節點
- 2. 如何在非二進制樹中查找特定節點?
- 3. 作業:Java二進制搜索樹。編輯特定節點
- 4. 在二叉搜索樹中找到節點的父節點
- 5. 如何刪除特定節點是二叉搜索樹?
- 6. 在二叉搜索樹中查找最近的節點
- 7. 如何找到節點值比二叉搜索樹指定值
- 8. 在xml中搜索特定節點
- 9. 如何在Python中搜索文檔以查找特定單詞?
- 10. 2-3樹:我如何搜索節點?
- 11. 遞歸計算二叉搜索樹中的特定節點
- 12. 在「按順序遍歷樹」中查找特定節點
- 13. 搜索節點的樹在Java中
- 14. 在json樹節點中搜索js
- 15. 在樹狀結構中搜索節點
- 16. 查找樹中的節點
- 17. 如何查找並返回二叉樹的最底部(最深節點)節點?二叉搜索樹?
- 18. 查找二叉搜索樹的葉節點
- 19. 使用深度優先搜索在樹中找到節點
- 20. 查找二叉樹中特定節點的深度
- 21. 樹中的GWT搜索節點
- 22. C++搜索樹中的一個節點
- 23. 在CSB +樹上的節點內搜索
- 24. Javascript - 查找具有特定編號的obout樹中的節點數量
- 25. 如何查找缺少特定子節點的XML節點?
- 26. JavaScript - 如何在節點搜索中返回樹的分支?
- 27. 查找二叉搜索樹
- 28. 從XML搜索特定節點值
- 29. Groovy XMLSlurper - 搜索特定節點
- 30. 搜索特定節點的鏈表
既然你是新來的SO幾個提示:避免「你好」和類似的問題和答案混亂。如果你在你的問題上表現出更多的努力,這會有所幫助你嘗試過什麼以及你卡在哪裏。這次你很幸運,但如果你在提問時顯得太懶惰,通常你就不會得到答案。 – 2011-04-29 13:14:34