Apa Itu Trie?
Pelajaran 2 dari 14 dalam kursus Trie: Struktur Data Seri #8 di Coddy.
Trie (dilafalkan "try", singkatan dari retrieval) adalah struktur data berbentuk pohon yang dibuat untuk menyimpan dan mencari string berdasarkan karakternya. Setiap edge pada pohon diberi label satu karakter, dan setiap jalur dari root ke node yang ditandai mengeja satu kata yang disimpan.
Struktur ini membuat pencarian awalan sangat cepat. Memeriksa apakah trie berisi kata yang diawali "car" hanya memerlukan tiga pencarian karakter dari root, berapa pun banyaknya ribuan kata yang disimpan. Trie menjadi mesin di balik fitur seperti pelengkapan otomatis, pemeriksaan ejaan, dan tabel perutean IP.
Setiap node dalam trie menyimpan dua bagian status:
children: peta dari karakter keTrieNodeberikutnya.isEndOfWord: penanda yang bernilaitruesaat jalur dari root ke node ini mengeja kata lengkap yang telah dimasukkan.
Lima operasi utama pada trie adalah:
- Insert: Tambahkan kata, dengan membuat node yang belum ada di sepanjang jalurnya.
- Search: Periksa apakah sebuah kata lengkap disimpan.
- StartsWith: Periksa apakah ada kata tersimpan yang memiliki awalan tertentu.
- Delete: Hapus kata dan rapikan cabang yang tidak lagi digunakan.
- WordCount: Hitung banyaknya kata berbeda yang disimpan.
Mari kita buat class Trie!
Coba sendiri
Pelajaran ini tidak memiliki tantangan kode.
Semua pelajaran di Trie: Struktur Data Seri #8
Latihan sendiri: Compiler C online