Algorithm 数据是如何存储在文本框中的?
我在读这篇关于 [数字来源] 我想知道今天的浏览器是否使用这种数据结构来实现文本框。我们是否使用绳索或其他数据结构来实现这一点 除了文本框,还有其他地方用绳子吗Algorithm 数据是如何存储在文本框中的?,algorithm,data-structures,text,string,ropes,Algorithm,Data Structures,Text,String,Ropes,我在读这篇关于 [数字来源] 我想知道今天的浏览器是否使用这种数据结构来实现文本框。我们是否使用绳索或其他数据结构来实现这一点 除了文本框,还有其他地方用绳子吗 我问题的前一个标题不知何故也意味着我想知道字符串“记住”是如何发生的——当我打字时,我会得到建议。我现在改了 我想知道的是,当我键入字符串时,使用什么数据结构来存储它。它是简单的字符数组还是复杂的绳子?很可能只使用底层操作系统/窗口系统提供的任何文本框。我想,至少在大多数情况下,对于文本框来说,这是一个简单的线性数组——大多数情况下
我问题的前一个标题不知何故也意味着我想知道字符串“记住”是如何发生的——当我打字时,我会得到建议。我现在改了
我想知道的是,当我键入字符串时,使用什么数据结构来存储它。它是简单的字符数组还是复杂的绳子?很可能只使用底层操作系统/窗口系统提供的任何文本框。我想,至少在大多数情况下,对于文本框来说,这是一个简单的线性数组——大多数情况下,几乎不需要保存接近绳子之类的东西真正有意义所需的数据量。问题(在一个简单的情况下)是找到包含某个子字符串的所有字符串。因为它并不总是搜索普通的作品甚至信件,我猜应该是某种索引。例如,对于三角图:
浏览器可以通过各种方式增强这一点,例如,如果键入多个单词,它们可以搜索每个单词并返回包含其中任何一个单词的URL。它们使用前缀匹配算法。Trie(及其高级版本)是实现最长前缀匹配的最佳方法 铬源: 注:我猜你的意思是他们在你打字时如何“记住”文本
如果你指的是每个文本框如何包含你先前键入的内容的列表,并在弹出窗口中显示出来,即每次“提交”文本时都会附加到该列表中。那么,我们所看到的区别,例如Firefox文本框与Google Chrome文本框的区别,只在于其呈现方式?@Lazer:嗯,我想这取决于你在说什么文本框。我想的主要是那些内置在浏览器中的内容(例如,选择你的主页)。对于HTML表单中的文本字段之类的内容,它们无疑提供了自己的拼写检查(例如,两者都有操作系统提供的通常缺少的拼写检查)。然而,在任何一种情况下,我猜文本都存储在一个简单的数组中。