用于基本文件系统的数据结构

时间:2014-03-16 23:07:22

标签: java data-structures hashtable binary-tree

我正在练习几个面试问题,我发现了一个有趣的问题,那就是建立一个基本的文件系统/终端。因为这是一个面试问题,所以这个文件系统可能是一个基本的系统,它涉及添加文件和目录,以及在目录中添加文件和目录。另一个功能是以逻辑方式打印出所有目录和文件。这一切都必须在不使用Collections

的情况下完成

我很想知道我将用什么数据结构来实现这个文件系统?我的想法是hashtableB tree

Hashtable可以快速查找时间。但是它会占用大量内存。我打算用素数作为我的桶尺寸。

B树的内存效率会更高。然而,查找时间会更慢。

或者两者都可能?

例如:

存储在hashtable节点中的所有文件,而目录存放在可以分支到其他目录节点或哈希表的树节点中。

我的另一个问题是:哪一个似乎更容易编码或实现print all函数?

1 个答案:

答案 0 :(得分:3)

文件系统的最佳数据结构是树。如果你想到它,它自然地模拟了目录结构的层次结构

dir1
  dir2
    dir2a
      file2b
  dir3
    dir3a
      file3b
      file3c
      dir4
        file4a