我必須認識到一大羣網址(幾百萬行)屬於一個特定的類別或不。我有另一個具有子字符串的列表,如果該URL存在屬於該類別的話。例如,類別A.尋找更快速的方式來執行字符串搜索
要檢查的子字符串列表大約有10k個這樣的子字符串。我所做的只是在子字符串文件中一行一行地查找匹配項,並且如果找到該URL屬於類別A的話。我在測試中發現這很耗時。
我不是計算機科學專業的學生,所以沒有太多有關優化算法的知識。但是有沒有辦法讓這個更快?只是簡單的想法。編程語言不是一個大問題,但Java或Perl會更好。
要匹配的子字符串列表不會有太大變化。然而,我會收到不同的URL列表,所以每次得到它時都要運行它。瓶頸似乎是網址,因爲它們可能會變得很長。
你可以使用一些信息檢索系統(即Lucene的 - 在Java中)索引的URL,然後搜索字符串,索引會費時,但可以爲每個「查詢」節省時間 - 無需遍歷整個列表。 – amit 2011-04-13 07:41:24
10K次,比如說1000萬是什麼,1000億?是的,不管語言如何,這都需要一些時間。如果A類中有某物,這是否意味着它們不能在其他類別中?如果是這樣,你可以從大列表中刪除所有分配給 – 2011-04-13 07:44:40
的大列表。子列表的列表是恆定的,沒有理由需要很長時間,查看我的答案列表的長度隻影響所用的大小內存的自動機,甚至可能會很小 – Asaf 2011-04-13 07:46:31