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

标签 java data-structures hashtable binary-tree

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

的情况下完成

我很好奇我会用什么数据结构来实现这个文件系统?我想到的是 hashtableB 树

Hashtable 会是一个非常快的查找时间。但是它会占用大量内存。我打算使用质数作为我的存储桶大小。

B 树的内存效率会更高。但是查找时间会更慢。

或者两者都有?

例如:

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

我的另一个问题是:看起来哪个更容易编码或实现打印所有功能?

最佳答案

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

dir1
  dir2
    dir2a
      file2b
  dir3
    dir3a
      file3b
      file3c
      dir4
        file4a

关于java - 用于基本文件系统的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22444332/

相关文章:

java - GWT 无限滚动并丢弃列表开始结果

java - 如何登录 Glassfish 域?

java - 如何通过另一个方法结束java中的一个方法?

algorithm - 找到区间最大交点出现2次的点

haskell - 这个二叉树代码如何表示一棵树?

powershell - 哈希文本中不允许使用空键

algorithm - 散列井字游戏表的每个组合

java - 我如何获得任何给定网络接口(interface)的最大传输速率

c++ - 如何评估任何给定的表达式

java - 更新哈希表中的缓存数据