获取文件夹结构层次结构的最佳数据结构

时间:2017-03-22 12:25:48

标签: algorithm data-structures tree hierarchy

我正在创建一个应用程序来组织我的文件和文件夹。文件和文件夹结构将显示在应用程序中。 举个例子,客户端会给我发送带有文件的文件夹结构,如下所示

  a
  |
  |—b— d — a.txt
    |— e — b.txt

1.A / B / d / A.TXT

2.A / B / E / b.txt

我第一次创建文件夹a,b,d第二次就足以创建文件夹e了。

当输入为a/f/g/h/i/j/abc.txt时,我应该知道在此创建的最大文件夹是a - 我应该知道其余文件夹是新的 - 我必须能够创建其余文件夹。

现在我正在做的是解析每个文件级别并检查它是否存在于表中然后迭代。我想避免每次在每个级别查询表。所以,我想在树形层次结构中组织它。维护此文件夹结构的最佳数据结构是什么?以及如何在树构建后解析树?比如在二叉树中,它将具有右边的数据大于根值并且左边的数据小于根值的属性。但是这里我没有这个文件夹树结构背后的任何逻辑。在这种情况下,哪个树实现会适应?

1 个答案:

答案 0 :(得分:0)

您可以拥有一个自定义树,其中节点可以包含任意数量的子节点。像

这样的东西
class Node {
    public String name;
    public List<Node> children;
}

在这个实现中,叶子将有一个空/空子列表。