我一直在阅读关于树型数据结构来模拟问题。我需要构建一个与文件系统中的文件夹/文件表示非常相似的数据的内存表示(我并不意味着存储在磁盘中的实际文件,而是像结构的浏览器)。树可能最大10深中间节点可能只有中等数量的子节点(比如说10),但可能有成千上万个叶子节点[就像文件夹和文件中的数千个文件是叶节点]适合的树型数据结构
的几点思考
- 二叉树不能工作作为一个节点可以最多只有2个 孩子。 (假设我们可以有3个子文件夹)
- 非常普遍的树实现可能效率低下,因为我的数据可以被排序。就像左边的兄弟姐妹比右边的兄弟姐妹小或小一样。我希望这允许有效的遍历。
- B树听起来非常接近,但它坚持平衡要求。在我的情况下,深度不会超过10,但不一定是所有深的分支(如c:/ windows,C:/ MyDoc ../ A/B/C)
请帮助你的经验。我应该自定义一棵树还是可用的任何合适的数据结构(并不意味着特定于编程语言)
那么......不要在B-Trees中实现平衡! – ElKamina 2012-04-20 17:16:15