Trie 类
Coddy 字典树:数据结构系列第 8 课 课程的第 4 课,共 14 课。
Trie 类本身很简单:它只有一个字段 root,其类型是 TrieNode。每次插入、搜索和查找都会从这个根节点开始,每次沿着树向下遍历一个字符。
构造函数会为根节点创建一个全新的 TrieNode。这个根节点还没有子节点,也没有标记为任何单词的结尾,因此字典树一开始是空的。我们将在接下来的课中添加方法,让它逐渐拥有子节点。
挑战
简单编写一个类 Trie,并为它编写一个不接受任何输入的构造函数。
将单个字段 root 初始化为一个新的 TrieNode(使用你在上一课中编写的类)。
亲手试试
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "trie.h"
int main() {
Trie t;
Trie_init(&t);
char line[1024];
while (fgets(line, sizeof(line), stdin)) {
line[strcspn(line, "\r\n")] = '\0';
char* cmd = strtok(line, " \t");
if (!cmd) continue;
if (strcmp(cmd, "rootIsEmpty") == 0) { printf("%s\n", TrieNode_childrenCount(t.root) == 0 ? "true" : "false"); }
}
return 0;
}
字典树:数据结构系列第 8 课中的所有课
自己练习: C 在线编译器