美文网首页
《恋上数据结构与算法一》笔记(十九)Trie

《恋上数据结构与算法一》笔记(十九)Trie

作者: 路飞_Luck | 来源:发表于2020-03-14 17:26 被阅读0次
目录
  • Trie简介
  • 接口设计
  • 总结
一 Trei 简介
image.png
二 接口设计
- (int)size;
- (bool)isEmpty;
- (void)clear;
- (bool)contains:(NSString *)str;
- (void)add:(NSString *)str;
- (void)remove:(NSString *)str;
- (bool)starsWith:(NSString *)prefix;
  • 测试代码
- (void)test {
    Trie *trie = [[Trie alloc] init];
    [trie add:@"cat" value:@(1)];
    [trie add:@"dog" value:@(2)];
    [trie add:@"catalog" value:@(3)];
    [trie add:@"cast" value:@(4)];
    
    NSString *prefix = @"cat";
//    prefix = @"dog";
//    prefix = @"catalog";
//    prefix = @"cast";
    
    NSLog(@"starsWith:%@ %d",prefix,[trie starsWith:prefix]);
}
  • 运行结果如下
2020-03-14 17:22:36.567671+0800 19_Trie[71552:8058556] starsWith:cat 1
三 总结
  • Trie 的优点 搜索前缀的效率主要跟前缀的长度有关

  • *Trie 的缺点 需要耗费大量的内存,因此还有待改进

更多Trie 相关的数据结构和算法

Double-array Trie、Suffix Tree、Patricia Tree、Crit-bit Tree、AC自动机

项目链接地址 - 19_Trie


本文参考 MJ老师的 恋上数据结构与算法


《恋上数据结构与算法一》笔记


本人技术水平有限,如有错误欢迎指正。
书写整理不易,您的打赏与点赞是对我最大的支持和鼓励。


相关文章

  • 《恋上数据结构与算法一》笔记(十九)Trie

    目录 Trie简介 接口设计 总结 一 Trei 简介 二 接口设计 测试代码 运行结果如下 三 总结 Trie ...

  • 【恋上数据结构与算法一】(十七)Trie

    需求 ■如何判断一堆不重复的字符串是否以某个前缀开头?用Set\Map存储字符串遍历所有字符串进行判断时间复杂度:...

  • 数据结构之栈

    (注释:整篇数据结构与算法文集,部分总结于王争的《数据结构与算法之美》和李明杰的《恋上数据结构与算法》,加上自己的...

  • 数据结构之队列

    (注释:整篇数据结构与算法文集,部分总结于王争的《数据结构与算法之美》和李明杰的《恋上数据结构与算法》,加上自己的...

  • 数据结构之二分查找的概念

    (注释:整篇数据结构与算法文集,部分总结于王争的《数据结构与算法之美》和李明杰的《恋上数据结构与算法》,加上自己的...

  • 数据结构之二叉树

    (注释:整篇数据结构与算法文集,部分总结于王争的《数据结构与算法之美》和李明杰的《恋上数据结构与算法》,加上自己的...

  • 数据结构之二叉搜索树

    (注释:整篇数据结构与算法文集,部分总结于王争的《数据结构与算法之美》和李明杰的《恋上数据结构与算法》,加上自己的...

  • 二叉树的遍历(前序中序后序层序)

    (注释:整篇数据结构与算法文集,部分总结于王争的《数据结构与算法之美》和李明杰的《恋上数据结构与算法》,加上自己的...

  • 数据结构之数组

    (注释:整篇数据结构与算法文集,部分总结于王争的《数据结构与算法之美》和李明杰的《恋上数据结构与算法》,加上自己的...

  • 数据结构之链表

    (注释:整篇数据结构与算法文集,部分总结于王争的《数据结构与算法之美》和李明杰的《恋上数据结构与算法》,加上自己的...

网友评论

      本文标题:《恋上数据结构与算法一》笔记(十九)Trie

      本文链接:https://www.haomeiwen.com/subject/fissdhtx.html