Latihan 1 dari materi Trie di Struktur Data — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi tiga method di class Trie. Tiap node adalah TrieNode dengan children (objek dari huruf ke node anak) dan isEnd (tanda akhir kata).
insert(word): masukkan kata huruf demi huruf, lalu tandai node huruf terakhir dengan isEnd = true.
search(word): kembalikan true hanya kalau kata itu pernah dimasukkan utuh.
startsWith(prefix): kembalikan true kalau ada kata yang berawalan prefix.
Empat console.log di bawahnya harus mencetak, berurutan:
true (search belajar)
false (search bela)
true (startsWith bel)
false (startsWith xyz)
Class-mu juga dicoba dengan kata lain, termasuk kata yang jadi awalan kata lain.
Hint
Ketiga method sama-sama berjalan dari root dan turun satu node per huruf lewat children. Bedanya cuma apa yang dilakukan kalau huruf gak ada, dan apa yang dikembalikan di akhir.
insert membuat new TrieNode() kalau anak untuk huruf itu belum ada, lalu menandai isEnd di node terakhir. search dan startsWith mengembalikan false begitu ada huruf yang gak punya anak.
let node = this.root; for (const huruf of word) { if (!node.children[huruf]) return false; node = node.children[huruf]; } lalu di akhir search: return node.isEnd; dan di akhir startsWith: return true;
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...