查找算法系列(三):字典查找

我是小脆皮, 今天写一个字典树的博文~~~字典树,就是26叉树。因为26个英文字母所以26个叉! 介绍完了。。。我也惊讶与我的辞藻这么不华丽。。。。 二叉树我们都知道, 不知道的狠狠的撞向豆腐~ 字典树不过就多了几个叉!他的数据结构定义如下:typedef struct node{ int nFlag; //标记到此是否有单词 char* pStr; //如果nFla
摘要由CSDN通过智能技术生成

我是小脆皮, 今天写一个字典树的博文~~~


字典树,就是n叉树。因为26个英文字母所以我这里就取26个叉了。
介绍完了。。。我也惊讶与我的辞藻这么不华丽。。。。
二叉树我们都知道, 不知道的狠狠的撞向豆腐~ 字典树不过就多了几个叉!

他的数据结构定义如下:

typedef struct node
{
    int nFlag;   //标记到此是否有单词
    char* pStr;  //如果nFlag = 1, 此处则有单词释义
    struct node *pList[26]; //26个指针, 代表 a~z 
}TrieTree;

添加单词“abz”,释义为“12345”;

1. 先来一个根节点(设为节点1), 找到 ‘a’ 指针, ‘a’ 指针指向节点2
2. 节点2的’b’指针指向节点3
3. 节点3的’z’指针,指向节点4
4. 能指向节点4说明有 abz这三个指针指向来的。即单词‘’abz‘’;
5. 节点4的标志位nFlag 置1,表示有单词, 释义pStr = “12345”,他的26个指针为NULL;
6. 如果,要添加单词”ab”, 那么就把节点3的 nFlag 置1,并添加 释义pStr ;

图片助攻:
这里写图片描述

跟着代码走2遍:

//结构体定义
typedef 
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值