我一直在试图制定一个快速实现这一目标的好方法,但我不确定哪种方法最优化,我希望你们中有些更有经验的开发人员可以提供帮助通过您的数据结构知识:-)用于映射URL或本地路径的数据结构
本质上我有一个路径列表(例如C:\ inetpub \ wwwroot \,C:\ www \ websites \ vhosts \ somesite.com \,D:\ www-mirror \ websites \ vhosts \ somesite.co.uk),我必须检查当前正在处理的文件(比如C:\ inetpub \ wwwroot \ styles \ style.css)是否存在于预先配置的路径列表中。
所以我最初的想法是将项目列表进行整理并执行CurrentFilename.StartsWith(PreconfigureListOfPathsPathName)。但是我经常在列表中遍历整个列表,并且列表可能会减慢,因为列表有时可能包含10个,其他1000个(客户端在服务器上)路径。
作为这个问题的快速解决方案,您会有什么建议?我在C#3.5中编写,这只是该项目的一小部分(但非常关键)。
我想过二叉搜索树,分解路径,然后做一个树形图并遍历每个路径。但我不确定它是否正确,因为我们可以有很多节点。
D:\www-mirror\websites\vhosts\somesite.co.uk\
D:\www-mirror\websites\vhosts\somesite.com\
D:\www-mirror\websites\vhosts\somesite.org\
D:\www-mirror\websites\vhosts\somesite.pl\
树形图:
www-mirror->websites->vhosts->somesite* (has 4 nodes)
www-mirror->blah->woah->okay
但它看起来有点靠不住。
谢谢,这似乎是可行的! – 2010-01-29 12:26:16
不客气!我很高兴它有帮助。 – 2010-01-29 14:11:01