class TrieNode
Pelajaran 3 dari 14 dalam kursus Trie: Struktur Data Seri #8 di Coddy.
Setiap simpul dalam trie adalah satu object kecil yang menyimpan dua informasi: children yang terhubung dengannya (pemetaan dari sebuah karakter ke simpul berikutnya) dan sebuah penanda isEndOfWord yang menandai apakah jalur dari akar ke simpul ini membentuk kata lengkap yang telah disisipkan.
Itulah seluruh class-nya. Tidak ada nilai, tidak ada kunci: posisi simpul dalam pohon adalah maknanya. Jalur dengan sisi berlabel c, a, t dari akar mencapai simpul tempat kita mengatur isEndOfWord = true saat menyisipkan "cat".
Mari mulai dengan membuat class TrieNode ini. Class Trie di pelajaran berikutnya akan menggunakannya.
Tantangan
MudahBuat class TrieNode dengan constructor yang tidak menerima input.
Inisialisasi dua field:
childrendiatur ke map kosong (atau padanan dalam bahasamu untuk map karakter ke node).isEndOfWorddiatur ke false.
Coba sendiri
#include <stdio.h>
#include "trienode.h"
int main() {
TrieNode* n = TrieNode_new();
printf("%s %s\n",
TrieNode_childrenCount(n) == 0 ? "true" : "false",
n->isEndOfWord ? "true" : "false");
return 0;
}
Semua pelajaran di Trie: Struktur Data Seri #8
Latihan sendiri: Compiler C online