2013-05-28 21 views
3

因此,我必須搜索具有一些丟失字母(用在填字遊戲中)的單詞,還必須保留剩餘空格的可能單詞列表。用於搜索丟失字母的算法

現在我的問題是,如果最快的搜索算法,我已經使用了搜索結果。 但是,如果我在編碼中對此進行編碼,並且對於我來說移動到突發傳輸樹是多麼困難。

如果你沒有得到你的東西,請與我聯繫,你可以評論澄清任何一點。

回答

1

首先是一個免責聲明,我沒有寫出突發線索。但是,在閱讀你的問題之後,我發現了提出突發脈衝串的初始文件,它聽起來很簡單。我寫了幾個trie數據庫和許多附件功能。

從我讀的內容來看,它聽起來像是您按照標準方法編寫了trie,並且只需在您的結構中添加一個bst選項並將其用於最後一個字符序列。然後在您的trie類中添加一個'burst'函數並在您的設置中,將bst'突發'到trie結構的新級別,並繼續使用bst後綴樹。

所以,我認爲你的問題的答案是肯定的,很容易將你的trie轉換爲突發線索。

1

只要您具有正確的抽象層,將一個樹轉換爲突發線索實際上是非常簡單的。有一個Scala implementation這個突發性的trie論文(混合了來自GWT的trie實現的一些想法),這在空間上是非常有效的(並且在處理trie時空間約束是最明顯的)。

如果你想建立你自己的,請看看該實現的指導。它有點通用,因此可以以不同的方式使用;但如果你在JVM上,並且不介意在scala庫中進行操作,它應該適合你的用例。