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

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"通常包含有关项目或代码...

    python-leetcode题解之208-Implement-Trie-(Prefix-Tree).py

    在Python中实现Trie树,尤其在使用LeetCode这样的编程平台解决问题时,可以加深对数据结构和算法的理解和应用。 本题解主要包含以下几个部分的知识点: 1. Trie树的基本概念和特性: Trie树是一种树形数据结构,...

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

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

    Aho-Corasick算法的Java实现与分析1

    Aho-Corasick算法是一种文本搜索算法,由Aho和Corasick于1975年提出,主要用于在大量文本中高效地查找多个模式串。它的核心思想是通过构建一个确定有限状态自动机(Deterministic Finite Automaton, DFA),使得在...

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

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

    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

    TrieTree-字典树

    开发中,常见的文件命名规范提示我们 TrieTree.cpp 和 TrieTree.h 分别是字典树实现的源文件和头文件,而 MappingTableManager.cpp 和 MappingTableManager.h 可能是用于管理映射表的源文件和头文件。PmemHashMap....

    基于字典树(Trie)实现高效关键字搜索算法与应用实例

    内容概要:本文详细介绍了一种利用字典树(Trie)实现高效的多模式匹配关键字检索系统的方法。文章首先定义了TrieNode及其属性——存储当前字符(word),连接子节点(children),以及是否作为结束节点(endCount/isEnd)...

    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是一个强大的工具,尤其适用于处理大量字符串数据,如四六级高频词汇的存储和查询。通过理解和运用这种数据结构,我们可以提高算法效率,优化应用程序的性能。

    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: {...

Global site tag (gtag.js) - Google Analytics