我有一長串單詞,我想顯示以用戶輸入的文字開頭的單詞。當用戶輸入一個字符時,應用程序應該更新顯示給用戶的列表。它應該像Android上的AutoCompleteTextView。我只是很好奇存儲單詞的最佳數據結構,因此搜索速度非常快。什麼是文本自動完成的最佳數據結構?
5
A
回答
10
可以使用trie。 http://en.wikipedia.org/wiki/Triehttps://stackoverflow.com/search?q=trie
一個很好的文章 - http://www.sarathlakshman.com/2011/03/03/implementing-autocomplete-with-trie-data-structure/
PS:如果你有一些子序列,即「不分支」,那麼你可以通過使用基數線索,這是一個索引樹的實現,使一些節省空間在節點的字符可能的情況下 - http://en.wikipedia.org/wiki/Radix_tree
1
1
爲了實現自動完成功能,三元搜索樹(TST)也可用於:
http://igoro.com/archive/efficient-auto-complete-with-a-ternary-search-tree/
但是,如果你想找到一個字符串中的任何隨機字符串,嘗試廣義後綴樹。
0
嘗試次數(及其各種變種)是有用的在這裏。關於這個主題的更詳細的處理是在這個paper。也許你可以實現Android的完成trie?
相關問題
- 1. 什麼是最好的自動完成/建議算法,數據結構[C++/C]
- 2. 什麼是嵌入式文檔MongoDB的最佳數據結構?
- 3. 什麼數據結構或算法用於自動完成?
- 4. Apache Spark - 三維數據的最佳數據結構是什麼
- 5. 自動完成結構化數據
- 6. 什麼是具有IDEA自動完成對菊腳本的最佳方式
- 7. 什麼是一組單詞的最佳數據結構?
- 8. 什麼是租賃系統的最佳數據庫結構?
- 9. 什麼是存儲位置信息的最佳數據結構?
- 10. A *什麼是開放集合的最佳數據結構?
- 11. 什麼是地圖樹的最佳數據結構
- 12. 什麼是存儲表格數據結構的最佳類型?
- 13. Dijkstra算法實現的最佳數據結構是什麼? C#
- 14. 線段搜索的最佳數據結構是什麼?
- 15. 什麼是我們的最佳數據庫結構...:
- 16. 存儲此數據結構的最佳方式是什麼?
- 17. 什麼是快速字典搜索的最佳數據結構?
- 18. 什麼是池容器的最佳數據結構?
- 19. 什麼是此層次結構的基於對象的最佳數據結構?
- 20. 什麼是最近n秒內存儲數據點的最佳數據結構
- 21. 創建啓動文件夾結構的腳本的最佳做法是什麼
- 22. 構建obj和exe文件的最佳dir結構是什麼?
- 23. 什麼是重構結構數組的最佳方式?
- 24. 搜索數據以獲得文本自動完成的最佳方式
- 25. Ctypes結構自動完成
- 26. 有i18n自動完成文本視圖的最佳方法
- 27. 將結果集數據放入文本文件的最佳方式是什麼?
- 28. 什麼是實現AJAX自動完成的Web服務的最佳方式
- 29. 什麼是C#中固定深度樹狀數據的最佳數據結構?
- 30. 什麼是存儲道路網絡數據的最佳數據結構
我認爲哈希表是最好的。我不確定你使用的語言或平臺,所以通常哈希表是快速和動態的。 – c0d3Junk13 2012-02-27 20:33:36
好吧......首先我們需要知道你正在使用的平臺。 Android的? iOS版?視窗? Linux呢? OSX?網頁或HTML? – 2012-02-27 20:35:39
@ c0d3Junk13如何在散列表中搜索具有給定前綴的字符串? – delnan 2012-02-27 20:37:17