Data Structures & Algorithms
Applications တွေ system တွေက တစ်ဖြည်းဖြည်းနဲ့ ကျယ်ပြန့်လာတဲ့ အချိန်၊ data တွေများပြားလာတဲ့အချိန်မှာ အဲ့ဒီ များပြားလာတဲ့ data တွေကို manage လုပ်ဖို့ဆိုတာကလဲ challenging တစ်ခုဖြစ်လာပါတယ်။ manage လုပ်တယ်ဆိုတာထက် ဒီလို million , billion, trillion ချီတဲ့ data တွေကို performance ကောင်းစွာ ဘယ်လို handle လုပ်မလဲ process လုပ်မလဲဆိုတာက တစ်ကယ်ကို အရေးကြီးတဲ့ အပိုင်းတစ်ခုအနေနဲ့ ရှိလာပါတယ်။ ဒါကြောင့်မို့လဲ data structures and algorithms ဆိုပြီးတော့ ဖြစ်ပေါ်လာတာပါ။
Data structures and algorithms တွေကိုအသုံးပြုပြီးတော့ data တွေအများကြီးကို ကောင်းမွန်စွာ handle ပြုလုပ်လာနိုင်ပါတယ်။ ကျနော်တို့ လက်ရှိအသုံးပြုနေတဲ့ systems တွေ applications တွေအားလုံးက data structures တွေ algorithms တွေနဲ့ ဖွဲ့စည်းထားတာပဲဖြစ်ပါတယ်။
Algorithms ဆိုတာက အရှင်းဆုံးပြောရရင် step by step procedure ပဲ။ operation တစ်ခု run နိုင်ဖို့အတွက် တစ်ဆင့်ခြင်းဆီ instructions တွေနဲ့ တည်ဆောက်ထားတဲ့ သဘောတရားပါပဲ။ ဥပမာ ကျနော် facebook ပေါ် article တွေတင်တာကို algorithm အနေနဲ့ ပြောရရင်
ကိုယ်ရေးချင်တဲ့စာကို သေချာအောင် research လုပ်တယ်။
Short notes တွေပြန်ထုတ်တယ်။
စာစီတယ် ၊ စာရေးတယ်
အမှားစစ်တယ်
Facebook ပေါ်တင်တယ်။ ဒါဆို ရင် facebook ပေါ်ကျနော့် article ရောက်သွားဖို့ အတွက် ဒီ instructions တွေကို တစ်ဆင့်ခြင်းဆီ ကျနော်လုပ်ပါတယ်။ ခြွင်းချက်ရှိတာကတော့ အမြဲတမ်း step by step ကြီးသွားနေတာမျိုးလဲမဟုတ်ဘူး၊ တစ်ခါတစ်လေကျ problem concept ပေါ်မူတည်ပြီး ပြောင်းလဲရတာလဲရှိနိုင်ပါတယ်။
Algorithm တွေကို ဘယ် programming နဲ့မှ ရေးလို့ရမယ်ဆိုပြီး ကန့်သတ်ထားတာမရှိဘူး၊ programming တိုင်းမှာ fundamental code construction တွေပါပြီးသားဖြစ်တဲ့အတွက် ဘာနဲ့ဖြစ်ဖြစ်ဆောက်လို့ရပါတယ်။
Algorithm တွေရဲ့ complexity ကိုကြည့်မယ်ဆို ၂ မျိုးခွဲခြားထားလို့ရတယ်။
Number of operation ပေါ်မူတည်ထားတဲ့ time complexity နဲ့
Memory space ပေါ်မူတည်ထားတဲ့ space complexity ဆိုပြီးတော့ပါ။ Time complexity ကတော့ algorithm တစ်ခု run ပြီဆို operation ဘယ်နှစ်ကြိမ်လုပ်သွားလဲဆိုတာပေါ်မူတည်ပြီးတွက်တယ်။ space complexity ဆိုတာကတော့ algorithm runtime မှာ system ရဲ့ memory အသုံးပြုပုံမူတည်ပြီးတွက်ပါတယ်။
နောက် article မှာ BigO နဲ့အတူ complexity အကြောင်းထပ်ရေးပေးထားပါတယ်။
Last updated