[英]How to implement a simple auto-complete functionality?
我想实现一个简单的类(在Java中),它允许我注册和注销字符串,并在当前字符串集的基础上自动完成给定的字符串。 所以,界面将是:
在算法和数据结构方面,最好的方法是什么?
您应该考虑使用PATRICIA trie作为数据结构。 在谷歌上搜索'patricia trie',你会发现很多信息......
您所追求的数据结构称为三元搜索树。
有一个很棒的JavaWorld示例,请访问www.javaworld.com/javaworld/jw-02-2001/jw-0216-ternary.html
对于那些偶然发现这个问题的人......
我刚在Google Code上发布了服务器端自动完成实现 。 该项目包括一个可以集成到现有应用程序中的Java库和一个独立的HTTP AJAX自动完成服务器。
我希望能够让人们将高效的自动完成功能整合到他们的应用程序中。 踢轮胎!
我创建了一个名为Simple AutoComplete的JQuery插件,它允许您在同一页面上添加许多自动完成,并添加带有额外参数的过滤器,并执行回调函数以带来其他参数,例如项目的ID。
请访问http://www.idealmind.com.br/projetos/simple-autocomplete-jquery-plugin/
它必须是某种类型的List,您可以按排序顺序维护它。 您还必须编写自己的搜索算法,该算法将为您提供列表中与搜索模式匹配的第一个元素的索引。 然后从该索引迭代,直到第一个不匹配的元素,并且您有可能的完成列表。
我将从commons-collections中查看TreeList 。 它具有从列表中间快速插入和删除的时间,以便维护排序顺序。 从支持该列表的树中编写搜索功能可能相当容易。
常用表达。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.