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;