我一直在做一些在我的B-樹和2-3-4樹(B樹的順序爲4)上刷新,我試圖在C#中實現它。我的問題是,鑑於B-Tree節點可以包含N-1個項目和N個子樹,這些節點之一的典型表示是什麼?它是一個數組,一系列鏈表還是我沒有考慮過的東西?B樹節點通常如何表示?
2
A
回答
2
對於2-3-4樹,它並不重要。對於大訂單,您可以使用排序數組和二進制搜索。對於字符串等可變大小的鍵,一個trie可能是一個好主意。
0
Here's an interesting article on MSDN關於在C#中編寫二叉搜索樹。與B樹不完全相同,但您可能會發現它很有用。本例中的作者使用通用Collection基類:
public class Node<T>
{
private T data;
private NodeList<T> neighbors = null;
...
}
public class NodeList<T> : Collection<Node<T>> { ... }
+0
binary-tree!= B-tree – 2010-02-08 11:58:01
+1
是的,這就是爲什麼我在我的文章的正文(第二句),「不完全一樣的作爲B樹,但你可能會覺得它有用。「這個想法是,集合的基本類型只是Collection
1
不要嘗試組合子樹和項目。您將需要陣列或列表<>。
如果您的訂單是固定的,我會使用2個數組。否則,List<ItemClass>
和List<SubTree>
相關問題
- 1. B樹中的節點數
- 2. B樹中的節點數
- 3. B +樹節點大小
- 4. B +樹節點實現
- 5. B +樹的葉節點大小
- 6. B +樹中的非葉節點
- 7. 插入一個節點到B樹
- 8. 顯示節點樹
- 9. 如何突出顯示樹節點
- 10. GIS,OSM,ROUTING:如何通過'road'節點從A點到B點?
- 11. 在B樹的根節點的子樹數
- 12. C#通用B +樹
- 13. 飛鏢樹節點示例
- 14. 如何構造節點樹?
- 15. 如何在ANTLR 3樹分析器中表示多個節點
- 16. 通用樹和通用節點Java
- 17. DX樹列表 - 如何使樹節點上的彈出菜單?
- 18. 樹節點選擇工作不正常
- 19. 當節點被分割時,B-樹節點中的鍵是否被複制?
- 20. 樹首次顯示時如何顯示選中的jstree節點?
- 21. 如何將B樹表示爲二維數組?
- 22. 查詢暗號節點A沒有節點B與第B
- 23. D3樹/節點
- 24. CheckBox節點樹
- 25. 如何在其父節點顯示多節點樹選擇器值
- 26. 如何通過任何節點獲取樹(SQL)
- 27. 如何刪除B樹的子樹
- 28. 如何做B樹插入
- 29. 樹節點和樹狀
- 30. 如何將B樹轉換爲B *樹? /最小填充邏輯
所以在N是2的情況下,可以有__子樹?通常稱爲列表而不是樹:) – 2010-02-07 22:13:16
符文FS:固定:) – 2010-02-07 22:15:02