Skip to content
GitHub

Trees & Binary Search Trees

Folder Structure ဆိုတာကို မြင်ဖူးတယ်မလား?

  • Folder တစ်ခုထဲမှာ Sub-folder တွေ ရှိနိုင်တယ်။
  • File တွေလည်း ရှိနိုင်တယ်။
  • Root Folder (အဓိက ဖိုင်တွဲ) က တစ်ခုတည်း။

ဒါကို Tree လို့ခေါ်ပါတယ်။ “အမြစ်” (Root) က အပေါ်ဆုံးမှာ ဖြစ်ပြီး၊ “ခက်နွယ်” (Branches) တွေက အောက်ကို ဖြာထွက်သွားတာပါ။ (Tree ပြောင်းပြန်စိုက်ထားတဲ့ ပုံစံပေါ့။) Node တိုင်းမှာ Parent တစ်ခုပဲ ရှိတတ်ပြီး၊ Children အများကြီး ရှိနိုင်ပါတယ်။

ဒါကတော့ Tree ထဲမှာမှ အထူးခြားဆုံး ပုံစံပါ။ Node တစ်ခုမှာ အများဆုံး ကလေး (၂) ယောက်ပဲ ရှိနိုင်မယ်။

  1. ဘယ်ဘက် Node က Parent ထက် ငယ်ရမယ်
  2. ညာဘက် Node က Parent ထက် ကြီးရမယ်

ဒါကြောင့် ဘယ်ဖက်သွားရင် ငယ်သွားမယ်၊ ညာဖက်သွားရင် ကြီးသွားမယ် ဆိုတာကို သိနေပါတယ်။

Array ထဲမှာ 50 ကို ရှာရင် 1 ကနေ 100 အထိ တစ်ခုချင်း ကြည့်ရမယ်။ BST မှာတော့ ကလေးကစားသလိုပါပဲ။

  • Root က 50 လား? ဟုတ်ရင် တွေ့ပြီ။
  • Root ထက် ငယ်ရင် ဘယ်ဖက်ကို ဆက်သွား။
  • Root ထက် ကြီးရင် ညာဖက်ကို ဆက်သွား။

တစ်ခါမေးတိုင်း Data တွေက တဝက် (Half) လျော့သွားတဲ့အတွက် Array ထက် အဆပေါင်းများစွာ မြန်ပါတယ်။

File System Tree BST Search Path Array vs BST Search Steps