gpt4 book ai didi

algorithm - 合适的树数据结构

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:19:42 24 4
gpt4 key购买 nike

我一直在阅读树数据结构来建模问题。我需要构建一个数据的内存表示,它与文件系统中的文件夹/文件表示非常相似(我并不意味着存储在磁盘中的实际文件,而是类似于资源管理器的结构)。树的最大深度可能为 10 中间节点可能只有中等数量的子节点(比如 10 ),但可能有数千个叶节点。[这就像文件夹中的数千个文件,文件是叶节点]

一些想法

  • 二叉树无法工作,因为一个节点最多只能有 2 个节点 children 。 (假设我们可以有 3 个子文件夹)
  • 非常通用的树实现可能效率低下,因为我的数据可以排序。就像左边的 sibling 比右边的 sibling 小/小。我希望这允许有高效的遍历。
  • B 树听起来很接近,但它是否坚持平衡要求。在我的例子中,深度不会超过 10,但不一定所有分支都那么深。(比如 c:/windows 、C:/MyDoc../A/B/C)

请帮助您的经验。我应该定制一棵树或任何合适的可用数据结构(并不意味着特定于一种编程语言)

最佳答案

您有两种不同类型的节点:文件和文件夹。

文件夹节点包含一组(或映射)子项,其中子项本身可能是文件或文件夹。

或者,您可能希望文件夹节点包含一组文件和一组文件夹。

对于集合,只需使用您最喜欢的有序集合表示(可能是您使用的任何语言附带的那种)。根据具体情况,您可能更愿意使用 map 。

关于algorithm - 合适的树数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10250564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com