在Web领域里面,自动补全是一种能够让用户在不进行搜索的情况下,快速找到所需东西的技术。自动补全一般会根据用户已输入的字母来查找所有以已输入字母为开头的单词,有些自动补全甚至可以在用户输入句子开头的时候自动补全整个句子。比如说,Google搜索的自动补全就向我们展示的那样。Web浏览器在用户向地址栏中输入信息的时候,也会通过自动补全来展示最近访问过的网址,以此来帮助用户快速地再次访问某个网站,另外Web浏览器内置的自动补全还会帮助用户记忆各个网站的登录名。以上提到的各种自动补全功能旨在帮助用户更快地访问信息。类似Google搜索栏这样的自动补全是由很多TB的远程数据驱动的,而类似浏览器历史记录和网站登录框这样的自动补全则是由体积小得多的本地数据库驱动的。但所有的这些自动补全功能都可以让我们在更短的时间内找到想要的东西。
本节将构架两种不同类型的自动补全,它们使用的结构、选择的自动补全算法以及完成操作所需的时间都不相同。第一个自动补全通过使用联系人列表来记录用户最近联系过的100个人,并尝试尽可能地减少实现自动补全所需的内存。而第二个自动补全则为更大的联系人列表提供了更好的性能和可扩展性,但实现这些列表所花费的内存也会更多一些。下面就让我们来了解一下,实现联系人自动补全的具体办法。