资源简介

一种C语言字典树创建和搜索的示例,可以创建一种无论增加多少单词,搜索速度依然 = 该语言字母数 * 单词长度 的效率的存储结构。一个demo

资源截图

代码片段和文件信息

#include “stdio.h“
#include “stdlib.h“
#include    
#include    
#include 

/**************ChenJieZhu created at 20181030 18:00***********************/

typedef struct vocalUnit VocalUnit;

struct vocalUnit {
char isWord; //如果深搜的时候发现是单词的时候根据这个标记进行显示 
char c;  //同一层的邻居字母 
struct vocalUnit *nextlayerHead;  //以本节点开始的下一层的首节点 
struct vocalUnit *nextBrother; //保存的字母 
};

/**初始化节点**/
void initDictTrees(VocalUnit* unit) {
unit->isWord = 0; 
unit->nextBrother = NULL; 
unit->nextlayerHead = NULL;  
    unit->c = NULL;  
}

/**添加单词到多叉树**/
void addWord(VocalUnit* vHead char* word){
int len = strlen(word);
int i;
VocalUnit* cursor = vHead;
for(i = 0; i < len; i++) {
    char c = word[i];
    char nextBrotherisEmpty = 0;

评论

共有 条评论