Trending News

1/10
DataStructures & Algorithms

AVL Tree

AVL tree ဆိုတာကတော့ binary tree ကို modify ထပ်လုပ်ထားတဲ့ balanced binary tree ကိုအခြေခံထားတဲ့ algorithm တစ်ခုပဲဖြစ်ပါတယ်။ Binary tree ရှိရဲ့ သားနဲ့ balanced binary ဆိုပြီး ဘာလို့ထပ်လာတာလဲမေးစရာရှိပါတယ်။ ရှင်းပါတယ်၊ binary tree ကမပြည့်စုံသေးလို့ပါ၊ ဘာလို့လဲဆိုတော့ binary tree ရဲ့ worst case တွေမှာ performance က linear time အထိ ပြန်နိမ့်ကျသွားလို့ပါ။ ဥပမာ 1, 2, 3, 4, 5,…

DataStructures & Algorithms

Fenwick Tree Construction

Fenwick tree ရဲ့ range query တွက်နည်းရော point update လုပ်နည်းရော ပြောပြီးပြီဆိုတော့ နောက်ဆုံးအနေနဲ့ အရေးကြီးဆုံး fenwick tree ဘယ်လိုဆောက်လဲဆိုတာ ရေးပေးသွားပါမယ်။ range query တို့ point update တို့မလုပ်ခင်မှာ fenwick tree က အရင်ဆောက်ထားရမှာဖြစ်ပါတယ်။ fenwick tree ကို tree structure အတိုင်းလဲ ဆောက်သွားလို့ရတယ်။ ဒီ article မှာတော့ ဖတ်ရလွယ်အောင်နဲ့ နားလည်ရလွယ်အောင် linear structure နဲ့ ဆောက်သွားပြပါမယ်။ Attach တွဲပေးထားတဲ့ ပုံက…

1/1
DataStructures & Algorithms

Fenwick tree (Point Update)

အရှေ့က ရေးခဲ့တဲ့ topic မှာ fenwick tree ရဲ့ intro နဲ့ sum range query တွက်နည်းကိုပြောပြပေးခဲ့ပါတယ်။ အခု article မှာတော့ မူလရှိပြီးသား array မှာ array value ကိုပြောင်းချင်ရင် fenwick မှာဘယ်လိုလုပ်လဲဆိုတာကိုပြောပြပေးသွားပါမယ်။ အရင် article ကို အောက်က link မှာ ဖတ်လို့ရပါတယ်။ http://bit.ly/2lDTvaO ဒီနေရာမှာပြောစရာရှိတာက range query ပဲတွက်တွက် point update ပဲလုပ်လုပ် range value တန်ဖိုးကိုအရင်တွက်ဖို့လိုပါတယ်။ တွက်နည်းကိုလည်း အရင် article မှာရေးပေးခဲ့ပါတယ်။…

1/2
DataStructures & Algorithms

Fenwick tree (Binary Indexed Tree)

Fenwick tree အကြောင်းစပြောတော့မယ်ဆိုရင်တော့ fenwick ကိုဘာကြောင့်သုံးတာလဲ fenwick ကဘာလဲဆိုတာနဲ့ စဆွေးနွေးကြရအောင်။ ဥပမာ တစ်ခုနဲ့ပြောရမယ်ဆိုရင် ကျနော်တို့မှာ array 10 ခန်းရှိတဲ့ data တစ်ခုရှိတယ်ဆိုပါစို့။ လိုချင်တာက range query ပုံစံမျိုးလိုချင်တာ။ (eg. Sum of array index 1 to 7, array အခန်း ၁ ကနေပြီးတော့ ၇ အထိပေါင်းခြင်းရလဒ်). ပေါင်းလို့ရလားဆိုတော့ ရတယ် လေ။ array ၁ ခန်းခြင်းဆီ လိုက်ထောက်ပြီးတော့ ပေါင်းရုံပဲ။ array 1 +…

DataStructures & Algorithms

Hash table – Removing elements (open addressing)

Hash table အကြောင်းရေးနေတဲ့ series ထဲ က hash table ထဲကနေ key တွေ remove လုပ်တဲ့ article ပဲဖြစ်ပါတယ်။ open addressing နဲ့ပဲ ဥပမာ ပြပြီးပြောသွားပါမယ်။ အရင် article တွေ ဖတ်ပြီးမှ ဒီ article ဖတ်တာ ပိုအဆင်ပြေပါမယ်။ Hash table (hashing) Hash table (Separate Chaining) Hash table (Open Addressing) http://bit.ly/2ZkEdL8 #####Hash table – Open addressing (Linear…

DataStructures & Algorithms

Hash table – Open addressing (Double Hashing)

Hash table အကြောင်းရေးနေတဲ့ series ထဲ က open addressing မှာသုံးတဲ့ probing function တစ်ခုဖြစ်ပါတယ်။ အရင် article တွေ ဖတ်ပြီးမှ ဒီ article ဖတ်တာ ပိုအဆင်ပြေပါမယ်။ Hash table (hashing) http://bit.ly/2NCd4MH Hash table (Separate Chaining) http://bit.ly/2KSdJaN Hash table (Open Addressing) http://bit.ly/2ZkEdL8 Hash table – Open addressing (Linear Probing) http://bit.ly/2ZCjbTx Hash table – Open addressing (Quadratic Probing) http://bit.ly/2HDVYKe…

DataStructures & Algorithms

Hash table – Open addressing (Quadratic Probing)

Hash table အကြောင်းရေးနေတဲ့ series ထဲ က open addressing မှာသုံးတဲ့ probing function တစ်ခုဖြစ်ပါတယ်။ အရင် article တွေ ဖတ်ပြီးမှ ဒီ article ဖတ်တာ ပိုအဆင်ပြေပါမယ်။ Hash table (hashing) http://bit.ly/2NCd4MH Hash table (Separate Chaining) http://bit.ly/2KSdJaN Hash table (Open Addressing) http://bit.ly/2ZkEdL8 Hash table (Open Addressing – Linear probing) http://bit.ly/2ZCjbTx ဒီ article ကတော့ နည်းနည်းတိုသွားမယ်။ ဘာလို့လဲဆိုတော့ data collision ဖြစ်တာတို့ open addressing…

DataStructures & Algorithms

Hash table – Open addressing (Linear Probing)

ပြီးခဲ့တဲ့နေ့တွေက hash table နဲ့ collision ဖြစ်ရင်ဖြေရှင်းဖို့ technique တွေရေးခဲ့ပါတယ်၊ အဲ့ထဲက မှ open addressing ဆိုတဲ့ technique ကိုသုံးတဲ့နေရာမှာ လိုအပ်မယ့် function တစ်ခုဖြစ်တဲ့ linear probing အကြောင်းကို ဒီနေ့ဆွေးနွေးသွားမှာဖြစ်ပါတယ်။ open addressing မှာ ရှိတဲ့ cycle issue ကိုလဲတစ်ပါတည်း ဆွေးနွေးသွားမှာဖြစ်ပါတယ်။ linear function ကိုသုံးထားလို့ linear probing လို့ခေါ်တယ်။ example . p(x) = ax+b (a is !=0) ….

DataStructures & Algorithms

Hash table (Open addressing)

Open addressing ဆိုတာကလည်း hash table မှာ collision ဖြစ်တဲ့အခါကျ ဖြေရှင်းနိုင်တဲ့ solving technique တစ်ခုပဲဖြစ်ပါတယ်။ ရှေ့ က article တွေမှာတော့ hash table အကြောင်းနဲ့ collision ဖြစ်ရင်ဖြေရှင်းနိုင်တဲ့ technique တစ်ခုဖြစ်တဲ့ separate chaining အကြောင်းကိုရေးပေးထားပါတယ်။ အောက်က link တွေမှာဝင်ဖတ်ကြည့်လို့ရပါတယ်။ Hash table (hashing) http://bit.ly/2NCd4MH Hash table (Separate Chaining) http://bit.ly/2KSdJaN ကျနော်တို့ hash table ထဲထည့်ဖို့အတွက် key ကို hash လုပ်တယ်။ hash…

1/4
DataStructures & Algorithms

hash table (separate chaining)

ပြီးခဲ့တဲ့နေ့က hash table အကြောင်းကို intro ဝင်ပြီးသွားပြီ။ hash table မှာ issue ဖြစ်နေတဲ့ collision အကြောင်းလည်းရေးခဲ့ပါတယ်။ ဒီနေ့တော့ အဲ့လို collision တွေကို ဖြေရှင်းတဲ့ နည်းလမ်းထဲက popular အဖြစ်ဆုံးနဲ့ နားလည်ရလွယ်တဲ့ method တစ်ခုဖြစ်တဲ့ separate chaining အကြောင်းကို ဆွေးနွေးသွားပါမယ်။ ရှင်းရှင်းပြောရင် separate chaining က linked list algorithm ပေါ်ကို မှီငြမ်းပြီးတော့ အလုပ်လုပ်ထားတယ်လို့လဲပြောလို့ရပါတယ်။ ဆိုတော့ ဒီ article ကိုမဖတ်ခင် hash table ရဲ့…