Trie tree, also known as dictionary tree or prefix tree, is an efficient multi-fork tree data structure that is widely used in the rapid search, insertion and deletion of strings. ၎င်းသည်ကြိုးကြိုးများ၏ရှေ့ဆက်ရှေ့ဆက်ကို အသုံးပြု. မလိုအပ်သောရှာဖွေမှုများကိုလျော့နည်းစေသည်။
TRIE သစ်ပင်၏အဓိကအယူအဆမှာမလိုအပ်သောထပ်တူရှာဖွေမှုများကိုလမ်းကြောင်းတစ်ခုအတွင်း၌တူညီသောရှေ့ဆက်နှင့်အတူတူပင်ချိတ်ဆက်ခြင်းဖြင့်မလိုအပ်သောထပ်တူရှာဖွေမှုများကိုလျှော့ချရန်ဖြစ်သည်။ TRE သစ်ပင်တစ်ပင်တွင် node တစ်ခုစီသည်ဇာတ်ကောင်ကိုကိုယ်စားပြုပြီး node တစ်ခုစီ၏ကလေး node များအရေအတွက်ကိုလက်ရှိ node ၏ဇာတ်ကောင်များကဆုံးဖြတ်သည်။
အထူးသဖြင့် TRIE သစ်ပင်တွင် root node တစ်ခုရှိပြီး root node ၏ကလေး node များသည် string တစ်ခုစီ၏ပထမဆုံးအက္ခရာများဖြစ်သည်။ သစ်ပင်ဖွဲ့စည်းပုံတစ်လျှောက်တွင်ကြိုးများကိုအစဉ်မပြတ်ထည့်ခြင်းသို့မဟုတ်ရှာဖွေခြင်းအားဖြင့် TRIE သစ်ပင်သည်လုပ်ငန်းလည်ပတ်မှုများကိုလျင်မြန်စွာဖြည့်ဆည်းပေးနိုင်သည်။
ဒီနေရာမှာ TRIE သစ်ပင်တစ်ပင်ကိုအကောင်အထည်ဖော်ရန် PHP အတွက်ဥပမာကုဒ်ဖြစ်သည်။
class TrieNode {
public $children;
public $isEndOfWord;
public function __construct() {
$this->children = array();
$this->isEndOfWord = false;
}
}
class Trie {
public $root;
public function __construct() {
$this->root = new TrieNode();
}
public function insert($word) {
$node = $this->root;
for ($i = 0; $i < strlen($word); $i++) {
$char = $word[$i];
if (!isset($node->children[$char])) {
$node->children[$char] = new TrieNode();
}
$node = $node->children[$char];
}
$node->isEndOfWord = true;
}
public function search($word) {
$node = $this->root;
for ($i = 0; $i < strlen($word); $i++) {
$char = $word[$i];
if (!isset($node->children[$char])) {
return false;
}
$node = $node->children[$char];
}
return $node->isEndOfWord;
}
}
TRIE သစ်ပင်သည်သီအိုရီဆိုင်ရာအချက်အလက်ပုံစံတစ်ခုမျှသာမဟုတ်သော်လည်းအမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ထိရောက်သောအသုံးချမှုများရှိသည်။ ဤတွင်အချို့သောဘုံ application တစ်ခုမှာ -
TRIE သစ်ပင်များသည်အလွန်ထိရောက်သောဒေတာဖွဲ့စည်းပုံဖြစ်ပြီးစစ်ဆင်ရေးများကိုလျင်မြန်စွာရှာဖွေခြင်း, ၎င်းတွင်စကားလုံးရှာဖွေခြင်း, string ကိုက်ညီခြင်းနှင့်အလိုအလျောက်ပြီးစီးခြင်းကဲ့သို့သော application အမျိုးမျိုးရှိသည်။ ဤဆောင်းပါးမှတစ်ဆင့် developer များသည် TRIE သစ်ပင်များ၏အလုပ်လုပ်နိူင်ခြင်းနှင့်အမှန်တကယ်စီမံကိန်းများတွင်ပြောင်းလွယ်ပြင်လွယ်လျှောက်လွှာကိုပိုမိုနားလည်နိုင်သည်။