Rumah > Artikel > hujung hadapan web > Lupakan Semua Yang Anda Tahu Tentang Pencarian Rentetan - Percubaan Akan Meredakan Fikiran Anda!
Cuba, juga dikenali sebagai pepohon awalan, ialah struktur data seperti pepohon yang cekap digunakan untuk menyimpan dan mendapatkan semula rentetan. Ia amat berguna untuk tugasan yang melibatkan carian rentetan, padanan awalan dan kefungsian autolengkap.
Percubaan sesuai dalam senario yang anda perlukan:
Mari kita bayangkan percubaan yang mengandungi perkataan "kucing", "kereta" dan "anjing":
root / | \ c d ... / | a o / \ | t r g
Setiap nod mewakili aksara, dan laluan dari akar ke nod daun membentuk perkataan yang lengkap.
Mari kita laksanakan struktur percubaan asas dalam JavaScript:
class TrieNode { constructor() { this.children = {}; this.isEndOfWord = false; } } class Trie { constructor() { this.root = new TrieNode(); } // Insert a word into the trie insert(word) { let node = this.root; for (let char of word) { if (!node.children[char]) { node.children[char] = new TrieNode(); } node = node.children[char]; } node.isEndOfWord = true; } // Search for a word in the trie search(word) { let node = this.root; for (let char of word) { if (!node.children[char]) { return false; } node = node.children[char]; } return node.isEndOfWord; } // Check if any word starts with the given prefix startsWith(prefix) { let node = this.root; for (let char of prefix) { if (!node.children[char]) { return false; } node = node.children[char]; } return true; } } // Example usage const trie = new Trie(); // Insert words trie.insert("apple"); trie.insert("app"); trie.insert("banana"); console.log(trie.search("apple")); // Output: true console.log(trie.search("app")); // Output: true console.log(trie.search("appl")); // Output: false console.log(trie.startsWith("app")); // Output: true console.log(trie.startsWith("ban")); // Output: true console.log(trie.startsWith("cat")); // Output: false
Tries menawarkan prestasi cemerlang untuk operasi berkaitan rentetan, terutamanya apabila berurusan dengan set besar perkataan dengan awalan biasa. Ia menyediakan carian pantas dan padanan awalan, menjadikannya tidak ternilai dalam pelbagai aplikasi seperti sistem autolengkap, jadual penghalaan IP dan pelaksanaan kamus.
Jika anda menyukai tutorial ini ikuti saya di sini dan di X/Twitter di @turckalicious. Artikel ini dibuat dengan bantuan Wonderfall (https://wonderfall.xyz), penyunting dokumen interaktif dikuasakan AI yang membantu anda menyelidik, menulis dan mengulang dengan lebih pantas.
Atas ialah kandungan terperinci Lupakan Semua Yang Anda Tahu Tentang Pencarian Rentetan - Percubaan Akan Meredakan Fikiran Anda!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!