- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我看过this问题,但我仍然看不出后缀树和 Trie 之间的区别。
两者都有给定字符串的所有子字符串,那么它们之间有什么不同呢?
最佳答案
后缀树 - 给出了大文本。查询 - 多次搜索文本中的任何词。
例子:您正在使用纸牌和小猫实现您自己的超酷文本编辑器=) 您将要实现 CTRL+F
功能。可能的实现 - 索引文档(创建后缀树),当用户查找某个词时 - 在树中搜索它。
Trie - 给出了一个大文本。查询 - 多次搜索文本中的预定义词。
示例:你正在用扑克和 Justin Bieber 的粉丝实现你自己的酷 facebook=) 你不希望你的用户发布脏话。可能的实现 - 创建脏话特里树。当用户键入一些文本时搜索禁用词并将其替换为 *。
一般来说,后缀树= trie。后缀树是某个词的所有后缀的特里树。当您想在字典中搜索某些内容时,请使用 trie。当您在纯文本 中搜索内容时,请使用后缀树。
重要说明 - 为大文本构建/重建后缀树是一项复杂的操作。更改文本后,您必须重新创建后缀树。重建 trie 是一个微不足道的操作 - 只需在 O(wordLength)
结论
后缀树。 您对 future 的查询一无所知。花时间创建后缀树,您就可以处理请求了。 已知信息是文本。请求未知但文本已给出且不会经常更改的情况是使用后缀树的候选者。例如,您不能在 CTRL+F
实现中使用 trie(aho-corasick 算法)- 因为您不能将字典作为基于 trie 的 aho-corasick 算法的输入。
特里。 您对要执行搜索的文本一无所知。 但您知道 future 的查询。花时间为您的查询预处理/准备数据结构,您可以在任何位置执行搜索查询文本。例如,在替换禁用词任务中,您不知道用户将发布什么文本,但您知道禁用词。 为每个简短的新帖子创建后缀树 太愚蠢了=) UPD 正如@mightyWOZ 在评论中注意到的那样,纯特里树不适用,但我们可以使用 Aho-Corasick 算法,它是对特里树的扩展。因此,语句对于尝试仍然适用 - 存在使用 trie 作为基础、预处理查询然后可以处理任何文本的方法 (Aho-Corasick)。
关于algorithm - 后缀树 VS 尝试 - 用简单的英语来说,有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17987005/
问题与现象 多语言开发是一件成本很高的事情。 很多公司会退而求其次选择只开发英文版本的软件分发到不同国家,但这里仍存在不同问题。 我们就遇到了这样的问题,参考下面的代码。 CultureInf
在我的 codeigniter 项目中,我使用 MySQL 作为数据库。它的排序规则是“latin1_swedish_ci”。现在我需要扩展我的网站,除了“英语”之外还存储“波兰语”、“德语”、“法语
从摩尔斯语翻译成英语就像一个魅力,但是将一个短语或句子(多个单词用空格分隔)从英语翻译成摩尔斯语只会产生翻译成摩尔斯语的第一个单词。例如,如果我输入“Hello World”,翻译器只会返回 '……
试图在谷歌上搜索一些提供英语、葡萄牙语和西类牙语国家和国籍列表的来源……没有运气。有人知道吗? 一个多语言网站的链接,其中包含三种语言的任何这些列表的表格也很棒!! 最佳答案 它在 unicode
在过去的 15 天或更长时间里,我一直在为一个奇怪的问题而苦苦挣扎。实际上我有一些阿拉伯语文本,但也有一些英文文本。 MY NAME "some arabic text" "some arabic t
我有这种日期格式: Mon, Nov 19, 2018 我希望它采用法语短日期格式(DD/MM/YYY) 但我无法用excel的基本日期格式解决它。 有任何想法吗 ? 最佳答案 您可以使用 MATCH
我被要求制作一个软件来加密和解密基于字母 frequencies 的“普通英语”文本。 . 问题是我在哪里可以找到一些与官方频率匹配的文本样本? 到目前为止,我已经尝试过 "War and Peace
我正在使用 kivy 的文件选择器,当文件夹中有一个带有希伯来语名称的文件时,它会打印出乱码......如果可能的话,我想支持不同的语言。尝试更改文件选择器中的字体名称,对我来说不起作用。你能帮我找出
Popup Click me to toggle the popup! A Simple Popup! // When the user clicks on div, open the po
我刚刚下载了最新的 NLTK 版本及其所有资源。 我看到 could 和 would 没有被列为停用词。但是 should 被视为停用词。 这是某种已知错误还是...? In [7]: import
我开发了一个短信发送器应用程序,我想知道用户使用的语言。那么,当用户键入一条消息时,我如何知道他/她使用的语言? 最佳答案 通过使用获取输入类型管理器: InputMethodManager imm
在 PHP 中使用正则表达式,如何让用户输入阿拉伯语、英语、数字、_、- 或空格。 例如,用户可以输入以下字符串: 10-abc 10-米 10-abcmo _abcمن-10 最佳答案 要检查您可以
作为我正在编写的一个小程序的一部分,我需要过滤一个可能是“gibrish”的字符串输入(UTF8 中的任何符号)输入可以是希伯来语和/或英语,但也有所有正常的符号,如:?%$!@'_' 等等... 一
也许有人知道从中检索翻译的最佳方式是什么。是否有用于阅读 Multitran 词典数据库的图书馆?我的目标是一个简单的程序,它将检索给定的俄语单词的英文翻译。 最佳答案 也许你可以使用 StarDic
在 chrome://settings/fonts 什么是标准字体,衬线字体,无衬线字体和固定宽度字体? 对于不使用Windows但希望尽可能使用相同(或相似)设置的用户,这是必需的。 最佳答案 St
我正在尝试查找四元组英语单词,我尝试更改 alpino,它将荷兰语单词下载为 en 或英语,但它不起作用任何想法? from nltk.util import ngrams from nltk.cor
这个问题在这里已经有了答案: UTF-8 all the way through (13 个答案) 关闭 8 年前。 我们允许用户在文本字段中输入任何语言,并将该值存储在数据库中,当用户在浏览器中查
我正在尝试在 Rails 中使用英语 gem,因此我可以访问 $LAST_MATCH_INFO,$~ 的隐秘版本。然而,尽管需要英语,$LAST_MATCH_INFO 始终是 nil,而 $~ 仍然有
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
当您设计应用程序时(假设使用英语),并要求用户提供目录/文件夹的路径,您是否使用术语目录或文件夹? 其中一个比另一个更容易被理解吗?其中一个比另一个更“正确”吗? 最佳答案 请注意,它们不是同义词。目
我是一名优秀的程序员,十分优秀!