我开始研究一个新的家庭项目,我需要用路径索引特定的文件名。 该程序将索引我的本地硬盘上的文件,而不需要处理文件的内容(所以我假设/希望它将是简单的实现)。 首先,用户将插入文件扩展名列表以进行索引(在设置时间内)。 然后程序将运行并创建包含用户输入的特定文件的路径的数据结构。
从数据结构中检索数据如下所示:
我的HDD上的文件路径=功能(用户输入的文件名)
我已经考虑了很长一段时间,并在这里为数据结构写了一个设计是我的建议 (Design Illustration):
我将使用带有散列函数的数组来将扩展映射到单元格(每个单元格都显示为 扩展文件的第一个字母)。
在每个单元格内部会有一个以相同字母开头的扩展名列表。
对于列表中的每个节点,将有一个用于搜索文件名的红黑树然后 在我们找到文件名之后,程序将检索存储在树中的文件的路径 节点
哦顺便说一下,我通常用c(低级)或c ++编程。
答案 0 :(得分:1)
我认为你正在制定一个过于复杂和复杂的方案。如果您希望根据扩展名找到MyFileTree
,那么只需使用SortedDictionary<string, MyFileTree>
,其中string是您的扩展名,您将获得开箱即用的O(log n)检索机制。