我一直在阅读有关树数据结构来建模问题的信息。我需要构建与文件系统中的文件夹/文件表示非常相似的数据的内存表示(我不是暗示存储在磁盘中的实际文件,而是像资源管理器一样的结构)。树可能最大 10 深 中间节点可能只有中等数量的子节点(比如 10 ),但可能有数千个叶节点。[就像文件夹中的数千个文件,文件是叶节点]
一些想法
- 二叉树不能工作,因为一个节点最多只能有两个孩子。(假设我们可以有 3 个子文件夹)
- 一个非常通用的树实现可能效率低下,因为我的数据可以排序。就像左边的兄弟姐妹比右边的兄弟姐妹更小/更小。我希望这可以进行有效的遍历。
- B树听起来很接近,但它是否坚持平衡要求。就我而言,深度不会超过 10,但不一定所有分支都那么深。(比如 c:/windows ,C:/MyDoc../A/B/C)
请帮助您的经验。我是否应该自定义创建树或任何合适的数据结构(并不意味着特定于编程语言)