(1)trie.h
#ifndef trie_h_(2)trie.c#define trie_h_
typedef struct word_trie_t word_trie_t;
typedef enum bool bool;
enum bool
;struct word_trie_t
;word_trie_t *word_trie_create();
#endif
#include "trie.h"#include #include #include //
/* 字典樹節點 */
//#define trie_node_max 26
typedef struct trie_node_t trie_node_t;
/*字典樹節點結構*/
struct trie_node_t
;/*建立乙個節點*/
trie_node_t* trie_node_create()
/***乙個節點*/
void trie_node_destroy(trie_node_t* node)
////* 字典樹對外介面實現 */
///typedef struct private_word_trie_t private_word_trie_t;
struct private_word_trie_t
;//插入乙個字串
bool insert(private_word_trie_t *this,char *str)
current=current->word[word_pos];
//節點索引值增加
current->count++;
str++;
}//在最後乙個節點標識為乙個字串
current->is_str=true;
return true;
}//查詢節點
bool find_word(private_word_trie_t *this,char *str)
str++;
}return current->is_str;
}//查詢字首數
int find_prefix(private_word_trie_t *this,char *str)
str++;
}return current->count;
}//刪除乙個字串
bool delete(private_word_trie_t *this,char *str)
str++;
}//釋放下面的節點
if(del!=null)
trie_node_destroy(del);
}return true;
}else
}//遞迴**節點
void trie_destroy(trie_node_t *node)
}trie_node_destroy(node);
}//銷毀節點樹
void destroy(private_word_trie_t *this)
//建立字典樹物件
word_trie_t *word_trie_create()
int main()
while(gets(str)&&str[0])
else
}tree->destroy(tree);
return 1;
}
字典樹C語言實現
又稱單詞查詢樹,trie樹,是一種 樹形結構,是一種雜湊樹的變種。典型應用是用於統計,排序和儲存大量的 字串 但不僅限於字串 所以經常被搜尋引擎系統用於文字詞頻統計。它的優點是 利用字串的公共字首來減少查詢時間,最大限度地減少無謂的字串比較,查詢效率比 雜湊樹高。include include de...
C語言的字典樹實現
字典樹是什麼東西就不過多於解釋了,反正在查詢上面很好用,它的更好的一層封裝就是ac自動機.c語言的字典樹的實現就是如下 include include include define max 128 define idxerr 1 define invalid 0 define valid 1 def...
用C語言字典實現詞典功能 C語言字典詞典
include include include define maxword 25 define maxmean 50 struct record struct lnode 函式宣告 void add struct lnode list void search struct lnode list v...