2013-03-03 47 views
0

我想建立針性能的原因索引。我應該使用哪種RDBMS或數據結構?

從二進制文件中有數百個非常隨機的字符。

我需要比較乾草堆和數百針。如果找到匹配模式,則需要返回針頭內容。

對於實例

$haystack = "£$%^&DFFFD$%^&*(" 


Needles: 
    1 | £"$£AAAA"£$ 
    2 | ((*BHJJ£$£$ 
    3 | ^&DFFFD$ 
    4 | &&&&&HUIH"£$% 

應該從ID 3

哪個RDBMS或數據結構,我應該使用返回^ & DFFFD $%?

該項目將在PHP

+0

從針頭創建DFA。 (這基本上是GREP所做的)。如果針沒有重疊,您甚至可以使用(f)lex爲您生成DFA。 – wildplasser 2013-03-03 11:20:50

+0

@wildplasser我在PHP中找到了開源DFA http://www.cip-labs.net/2011/05/04/deterministic-finite-automaton-in-php/ - 看這個例子,我很困惑如何把針內容到DFA – 2013-03-03 12:17:52

+1

那麼,這是一個勇敢的練習。我不希望有人嘗試在PHP中構建DFA。問題是:構建DFA的人不做PHP,而知道PHP的人不知道如何構建DFA ;-) – wildplasser 2013-03-03 12:29:50

回答

0

做我會用鏈接的針散列去。

當我得到乾草堆時,我創建了所有可能的針的列表,計算它的散列並將其與已計算的針散列值進行比較。

相關問題