例如,如果您在Firefox中的右上角google/yahoo搜索框中键入内容,则会出现某种"建议的自动完成"类型的内容.
另一个例子是在此问题预览下方的youtube搜索框和Stackoverflow标签编辑框中.他们是如何工作的?他们背后的技术是什么?
这是通过使用AJAX完成的,这个网站有一个很好的教程: AJAX Suggest Tutorial和WaybackMachine版本,因为网站似乎失败了.
据我所知,只有一个包含关键字和一些代码的数据库.
我正在学习如何使用它,实际上是为了工作.:)
另一个资源是w3schools.他们也覆盖了它.
他们背后的技术是什么?
如果您想知道下面使用了哪个数据结构,那么它被称为" trie ",并且与尝试相比,使用更少的空间可以使用"DAFSA"
他们是如何工作的?
两者都被实现为树,其中树的每个节点对应于字符串中的一个字符,并且之前出现的字符是稍后出现的字符的父字符,例如字符串"tap","taps","top"和"tops" "存储在Trie(左)和DAFSA(右)中,以便您开始键入tap ..根据键入的字符遍历树,并根据分配给每个单词的一些权重显示建议,可以指定权重根据单词的使用频率.
在最坏的情况下查找字符串是O(m)时间,其中m是字符串的长度.
图片正在从维基百科中引用:DAFSA,trie