在有许多用户和文件/目录时,快速查找给定用户和路径的文件或目录

时间:2012-03-09 18:03:23

标签: algorithm

这是一个面试问题。如果您有数百万的用户和文件/目录,那么如何规划一种在给定用户和路径的情况下查找文件或目录的好方法?如果文件/目录有时间戳,那么如何计算每个用户每天添加的文件/目录数?您可以使用您的方式插入文件/目录。

2 个答案:

答案 0 :(得分:1)

您可以将它们存储在数据库表(字段用户,文件,日期)中,并对它们进行简单查询。 DBMS执行索引以使其快速。如果您不想使用mysqlMS AccessSQL server或Oracle等DBMS,则可以使用某些开源搜索应用程序,例如Lemur

答案 1 :(得分:0)

如果您不想使用数据库,则可以使用DictionaryBinary Search Tree的组合。

key的{​​{1}}将是Dictionary 它的user有2个属性:

  1. value Dictionarydaykeysnumber of entries that day
  2. values Binary Search Treepath个不同的文件和文件夹为nodes
  3. n为不同文件和文件夹的总数 它内置于O(nlgn),所需操作在O(lgn)中完成。