我一直在試圖制定一個快速實現這一目標的好方法,但我不確定哪種方法最優化,我希望你們中有些更有經驗的開發人員可以提供幫助通過您的數據結構知識:-)用於映射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