所以是的,我讀了如何在字符串之間使用編輯距離來決定「關閉」是如何彼此串聯的。這個算法作爲一個動態問題實現,需要O(mn)個時間,其中m和n分別是文本和模式的長度。所以如果我必須匹配5000個其他字符串的字符串,它會花費很多時間,這在我的應用程序中是無法接受的。有更快的解決方案可以實施嗎?我不介意交易存儲空間的時間。根據字符串列表進行近似搜索
我在Android上看到一個名爲「Swype」的應用程序,它有類似的功能。它會根據自己的數據庫搜索您的查詢並提供結果。這是如此快速的工作?
注意:請不要建議像Lucene這樣的框架,因爲我不能在J2ME上運行。
這是用於輸入更正嗎?你確定你需要比Levenshtein距離更快的東西嗎? 5000如果他們是短字典單詞,聽起來不那麼糟糕。 –
這基本上是用於根據預先填充的文章列表來搜索文章名稱(用戶查詢)。現在,由於用戶可能輸入不正確的查詢,所以搜索必須建議最接近的匹配或者如果沒有找到「不匹配」。 – Gooner