`
auauau
  • 浏览: 172066 次
社区版块
存档分类
最新评论

Trie 字典树 Objective-c 算法实现

    博客分类:
  • iOS
阅读更多
下载地址: http://github.com/nathanday/ndtrie

NDTrie was developed for text completion, using the method -[NDTrie everyObjectForKeyWithPrefix:] will return every
string with the given prefix. For example an NDTrie with the strings {cat, catalog, category, cow, dog} for
everyObjectForKeyWithPrefix:@"cat" return the strings {cat, catalog, category}.
The NDTrie project contains two classes NDTrie and a subclass NDMutableTrie, which work the same way Apples mutable and
non-mutable classes work.
Though initially developed to contain strings that act as the key and value using methods like -[NSMutableTrie
addString:], NDTrie can also contain any object with a string key using methods like -[NSMutableTrie
setObject:forKey:].

之所以选择这个开源组件,是我着手开发一个英文字段软件。
词库量较大,有4W条记录,通过sqlite的like查询,效率很低。使用了这个组件之后,效果更差!
最终的解决方法还是在数据库上做文章,首先根据单词顺序进行排序,分别记录不同字母开头单词所在区域,其次创建索引,查询时,根据用户输入的关键字,再给定范围内进行模糊查询。目前速度还算满意。
分享到:
评论

相关推荐

    字典树实例--java实现

    在IT领域,字典树(Trie,也称为前缀树或字典树)是一种用于存储动态集合或关联数组的数据结构。它允许我们快速查找、插入和删除字符串,特别是对于有公共前缀的字符串,效率非常高。这个实例是用Java语言实现的,...

    字典树算法 c语言实现

    以下是对字典树算法及其C语言实现的详细说明: ### 1. 字典树的基本概念 字典树是一种非平衡的树形数据结构,每个节点包含一个字符,且从根节点到某个节点的路径上的字符组合成一个字符串。这个字符串是该节点所有...

    KMP算法与trie搜索树实现

    在压缩包中,"trie.c"可能是C语言实现的Trie树代码,而"trie.exe"是编译后的可执行程序,可用于实际操作Trie树。"kmp.py"则是Python实现的KMP算法代码,可以用来进行字符串匹配。"readme.txt"通常包含有关项目或代码...

    双数组字典树的-java实现,用于敏感词过滤

    双数组字典树(Double Array Trie,简称DAT)是一种高效的数据结构,主要用于字符串搜索和匹配,尤其在处理大量敏感词过滤的场景下表现突出。它是由日本科学家原望治(Hideo Hiraoka)提出的,相比传统的Trie树,DAT...

    HASH(Trie)-.rar_HashTree.h_TRIE_hash树_trie树_字典树

    **哈希 Trie 树(HashTrie)与字典树(Trie树)详解** 哈希 Trie 树,也称为 HashTrie 或者是哈希化的 Trie 树,是一种结合了哈希表和 Trie 数据结构特点的数据结构。它在 Trie 树的基础上引入了哈希函数,提高了...

    marisa_trie-0.7.7-cp310-cp310-win_amd64

    marisa_trie-0.7.7-cp310-cp310-win_amd64

    Go-trie-单词查找树实现Go实现

    Trie,又称为前缀树或字典树,是一种用于存储动态集合或关联数组的树形数据结构。它的主要特点是通过键的前缀来组织节点,从而快速进行前缀查询和模糊搜索。在Go语言中实现Trie,可以有效地支持字符串集合的增删查改...

    PyPI 官网下载 | marisa_trie-0.7.6-cp38-cp38-win32.whl

    marisa_trie是一款高效的数据结构库,它实现了Trie(又称前缀树或字典树)数据结构。Trie是一种树形结构,用于存储字符串集合,它以键(key)为节点,每个节点可能有多个子节点,这些子节点对应键的后继字符。Trie的...

    acm 算法 字典树模板

    在算法竞赛中,字典树(Trie)是一种常用的数据结构,用于解决字符串匹配问题。下面是字典树的基本概念和实现细节。 字典树的基本概念 字典树是一种树形数据结构,用于存储字符串集合。它的每个节点都可以包含一个...

    ACM Trie树 模板 字典树

    ACM Trie树 模板,字典树模板,数据结构

    Java实现字典树TrieTree

    总的来说,Java实现的字典树TrieTree是一个强大的工具,尤其适用于处理大量字符串数据,如四六级高频词汇的存储和查询。通过理解和运用这种数据结构,我们可以提高算法效率,优化应用程序的性能。

    marisa-trie:基于 marisa-trie C++ 库的 Python(2.x 和 3.x)静态内存高效的类似 Trie 结构

    基于 C++ 库的 Python(2.7 和 3.4+)静态内存高效的类似 Trie 结构。 MARISA-trie 中的字符串数据可能比标准 Python dict 占用的内存少 50 到 100 倍; 原始查找速度相当; trie 还提供快速的高级方法,如前缀...

    HAT-trie - A Cache-conscious Trie-based Data Structure for Strings - 2007 (CRPITV62Askitis)-计算机科学

    HAT-trie: A Cache-conscious Trie-based Data Structure for StringsNikolas Askitis Ranjan SinhaSchool of Computer Science and Information Technology, RMIT University, Melbourne 3001, Australia. Email: {...

    marisa_trie-0.7.7-cp37-cp37m-win32

    marisa_trie-0.7.7-cp37-cp37m-win32

    二十六叉字典树

    二十六叉字典树(Trie),也被称为前缀树或关键字树,是一种高效的数据结构,主要用于处理字符串集合。它能够有效地支持插入、删除、搜索等操作,并且能够很好地利用字符串间的公共前缀来节省存储空间。Trie树中的每...

    NYOJ.290.DictionaryTree.zip_trie树c_字典树_高级数据结构

    Trie树的高级应用还包括压缩Trie树(Patricia Trie)和Trie树的变种,如Aho-Corasick算法,它在Trie树的基础上添加了“失败指针”以实现同时匹配多个模式的功能。在实际编程中,理解和掌握Trie树可以帮助我们更高效...

    C++/C Trie树算法

    用C实现的数据结构Trie树算法 实验的函数的trie树的插入 搜索和删除

Global site tag (gtag.js) - Google Analytics