Trie 클래스
Coddy의 트라이 - 자료구조 시리즈 #8 코스 레슨 — 14개 중 4번째.
Trie 클래스 자체는 매우 단순합니다. 이 클래스는 TrieNode인 root라는 단일 필드를 가집니다. 모든 삽입, 검색 및 조회는 이 root에서 시작하여 한 번에 한 문자씩 트리를 따라 내려갑니다.
생성자는 root를 위한 새로운 TrieNode를 생성합니다. 해당 root는 아직 자식이 없으며 어떤 단어의 끝으로도 표시되지 않으므로, 트라이는 빈 상태로 시작됩니다. 다음 레슨에서 추가할 메서드들이 이 root로부터 자식 노드들을 확장해 나갈 것입니다.
챌린지
쉬움입력을 받지 않는 생성자를 포함하는 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;
}