0

我开始研究一个新的家庭项目,我需要用那里的路径索引特定的文件名。该程序将索引我本地硬盘上的文件,而无需处理文件的内容(所以我假设/希望它会是简单的实现)。首先,用户将插入一个文件扩展名列表以获取索引(在设置期间)。然后程序将运行并创建保存用户输入的特定文件路径的数据结构。

按数据结构检索数据如下所示:

我的硬盘上文件的路径=函数(用户输入的文件名)

我想了很久,写了一个数据结构的设计,这是我的建议(设计插图):

  1. 我将使用带有散列函数的数组将扩展名映射到单元格(每个单元格表示
    扩展文件的第一个字母)。

  2. 在每个单元格内都会有一个以相同字母开头的扩展名列表。

  3. 对于列表中的每个节点,都会有一个用于搜索文件名的红黑树,然后在我们找到文件名后,程序将检索存储在树
    节点中的文件的路径。

哦,顺便说一句,我通常用 c(低级)或 c++ 编程。

4

1 回答 1

1

我认为您正在制定一个过于复杂和复杂的方案。如果定位MyFileTree基于扩展名是您想要的,那么只需使用SortedDictionary<string, MyFileTree>where string 是您的扩展名,您将获得开箱即用的 O(log n) 检索机制。

于 2011-02-10T09:18:37.293 回答