看数据结构写代码(60 ) 键树的多重链表表示(Trie树)

Trie树,又称键树,通过树的多重链表结构来表示,每个节点包含多个指针域。在某些情况下,当节点的度较大时,Trie树比双链表树更合适。文章介绍了如何利用C语言实现Trie树,并强调了其独特的数据压缩方式。提供源代码工程文件的下载链接。
摘要由CSDN通过智能技术生成

trie树,是用 树的 多重链表来表示 树的。每个节点 有 d 个指针域。若从键树中的某个节点到叶子节点的路径上每个节点都只有一个孩子,则可以把 路径上的所有节点压缩成一个叶子节点,且在叶子节点中 存储 关键字 以及 根关键字相关的信息。

当节点的度 比较大时,选择 Trie树,要比 双链表树更为合适。

tire树的 数据 压缩 是 挺与众不同的。

下面 给出 具体的 代码:

源代码工程文件网盘地址:http://pan.baidu.com/s/1cyTg6

// TrieTree.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <cstdlib>
#include <cstring>
#include "stack.h"


#define BRANCH_MAX_SIZE  27//分支节点最大指针数
#define MAX_SIZE 16
#define LEAF_END_CHAR '$'
enum E_Kind{
	E_Kind_Branch,
	E_Kind_Leaf,
};

struct KeyType{
	char k [MAX_SIZE];
	int len;
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值