မြန်မာ့ အယ်လဂိုရစ်သမ်Burmese Edition
မြန်မာ Developer များအတွက် သီးသန့် ပြုစုထားသော စွယ်စုံကျမ်း

ကွန်ပျူတာ အယ်လဂိုရစ်သမ် စွယ်စုံကျမ်းနှင့် လက်တွေ့စမ်းသပ်ကွင်း

Sorting, Searching, Graph, Dynamic Programming မှစ၍ အရေးကြီးသော အယ်လဂိုရစ်သမ်များအားလုံး၏ အလုပ်လုပ်ပုံ (How it works) Big-O Complexity လက်တွေ့ကုဒ် (Code) နှင့် တိုက်ရိုက် Visualizer များကို မြန်မာလို လွယ်ကူရှင်းလင်းစွာ လေ့လာနိုင်ပါသည်။

105+Curated Algorithms
8ကဏ္ဍကြီးများ (Categories)
Live Visualizerအဆင့်ဆင့် လှုပ်ရှားမှု
TS / PY / C++ဘာသာစကား ၃ မျိုး

ကဏ္ဍအလိုက် ရွေးချယ်ရန် (Categories)

အခက်အခဲ-
ပြသနေသည့် အရေအတွက် - 105 ခု
စီစဥ်ခြင်း (Sorting)

ဘရပ်ဘယ်ဆော့တ် (Bubble Sort)

Bubble Sort

လွယ်ကူ (Easy)
Time:O(n²)
Space:O(1)

ကပ်လျက်ရှိသော ကိန်းဂဏန်းနှစ်ခုကို နှိုင်းယှဉ်ပြီး မှားယွင်းနေပါက နေရာချင်းလဲလှယ်၍ အကြီးဆုံးကိန်းကို နောက်ဆုံးသို့ ပူဖောင်းကဲ့သို့ တွန်းတင်သည့် နည်းလမ်း။

ရေအောက်မှ လေပူဖောင်းလေးများ အပေါ်ယံ ရေမျက်နှာပြင်ဆီသို့ အစဉ်လိုက် တက်လာသကဲ့သို့ တန်ဖိုးကြီးသော ကိန်းဂဏန်းများက နောက်ဆုံးနေရာဆီသို့ တက်သွားခြင်း။
စီစဥ်ခြင်း (Sorting)

အမြန်ဆုံး စီစဥ်ခြင်း (Quick Sort)

Quick Sort

အလယ်အလတ် (Medium)
Time:O(n log n)
Space:O(log n)

Pivot (ဗဟိုဒြပ်စင်) တစ်ခု ရွေးချယ်ပြီး ၎င်းထက်ငယ်သော ကိန်းများကို ဘယ်ဘက်၊ ကြီးသော ကိန်းများကို ညာဘက် ခွဲခြား၍ ထပ်ဆင့် ဖြေရှင်းနည်း။

ကျောင်းသားများကို အရပ်အမောင်း စီရာတွင် အလယ်အလတ်ရှိသူ တစ်ဦးကို စံထားပြီး ၎င်းထက် ပုသူများကို ဘယ်ဘက်၊ ရှည်သူများကို ညာဘက် ချက်ချင်း ခွဲရပ်ခိုင်းခြင်း။
စီစဥ်ခြင်း (Sorting)

ပေါင်းစည်းစီစဥ်ခြင်း (Merge Sort)

Merge Sort

အလယ်အလတ် (Medium)
Time:O(n log n)
Space:O(n)

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

ဖဲထုပ်ကို နှစ်ထုပ်ခွဲ၍ တစ်ရွက်ချင်း စီပြီးမှ ပြန်ယှဉ်စပ်ကာ တစ်ထုပ်တည်း ပြန်ပေါင်းခြင်း။
စီစဥ်ခြင်း (Sorting)

ထည့်သွင်း စီစဥ်ခြင်း (Insertion Sort)

Insertion Sort

လွယ်ကူ (Easy)
Time:O(n²)
Space:O(1)

ကိန်းတစ်ခုချင်းစီကို ယူ၍ ရှေ့တွင် စီစဉ်ပြီးသား အပိုင်းရှိ သင့်တော်သော နေရာတွင် ကတ်တွန်းထည့်သကဲ့သို့ ထည့်သွင်းသည့် နည်း။

ဖဲကစားသမား တစ်ဦးသည် လက်ထဲသို့ ဖဲချပ်သစ် တစ်ရွက် ရောက်တိုင်း နံပါတ်စဉ် မှန်ကန်သော ကြားနေရာသို့ ထိုးထည့်ခြင်း။
စီစဥ်ခြင်း (Sorting)

ရွေးချယ် စီစဥ်ခြင်း (Selection Sort)

Selection Sort

လွယ်ကူ (Easy)
Time:O(n²)
Space:O(1)

ကျန်ရှိနေသော ဒေတာများထဲမှ အငယ်ဆုံးကိန်းကို ရှာဖွေရွေးချယ်ပြီး ရှေ့ဆုံးမှ မစီရသေးသော နေရာနှင့် လဲလှယ်သည့် နည်းလမ်း။

ဘောလုံးသမား တစ်စုထဲမှ အရပ်အပုဆုံးကို ရှာ၍ ရှေ့ဆုံးတန်းတွင် ရပ်ခိုင်းပြီး ကျန်သူများထဲမှ ထပ်ရှာခြင်း။
စီစဥ်ခြင်း (Sorting)

ဟီးပ်ဆော့တ် (Heap Sort)

Heap Sort

အလယ်အလတ် (Medium)
Time:O(n log n)
Space:O(1)

Binary Heap သစ်ပင်ပုံစံ တည်ဆောက်ပြီး အကြီးဆုံးတန်ဖိုး (Root) ကို နောက်ဆုံးနေရာသို့ အဆင့်ဆင့် ထုတ်ယူ စီစဥ်နည်း။

ပြိုင်ပွဲဝင်များအနက် ချန်ပီယံဆုရှင်ကို စင်ပေါ်တင်ပြီး ကျန်သူများထဲမှ နောက်ချန်ပီယံ ထပ်ရွေးခြင်း။
အလယ်အလတ် (Medium)
Time:O(nk)
Space:O(n + k)

ကိန်းဂဏန်းများကို တစ်ခုချင်း နှိုင်းယှဉ်ခြင်း မပြုဘဲ ခုဂဏန်း၊ ဆယ်ဂဏန်း၊ ရာဂဏန်း နေရာများအလိုက် အဆင့်ဆင့် စီစဥ်နည်း။

စာရွက်စာတမ်းများကို ခုနှစ်အလိုက်၊ ထို့နောက် လအလိုက်၊ ရက်အလိုက် အဆင့်ဆင့် ခွဲခြား စီစဥ်ခြင်း။
စီစဥ်ခြင်း (Sorting)

ရေတွက် စီစဥ်ခြင်း (Counting Sort)

Counting Sort

လွယ်ကူ (Easy)
Time:O(n + k)
Space:O(k)

ကိန်းတစ်ခုချင်းစီ ပါဝင်သည့် အကြိမ်အရေအတွက်ကို ရေတွက်မှတ်သားပြီး အစဉ်အတိုင်း ပြန်လည်ထုတ်ပေးသည့် နည်း။

မဲပုံးထဲမှ မဲလက်မှတ်များကို ကိုယ်စားလှယ် အမည်အလိုက် ပုံပုံချင်း စုပုံရေတွက်ပြီး အစဉ်လိုက် စာရင်းပြုစုခြင်း။
စီစဥ်ခြင်း (Sorting)

ပုံးခွဲ စီစဥ်ခြင်း (Bucket Sort)

Bucket Sort

အလယ်အလတ် (Medium)
Time:O(n + k)
Space:O(n + k)

ကိန်းဂဏန်းများကို တန်ဖိုးအပိုင်းအခြားအလိုက် ပုံး (Buckets) များထဲ ခွဲထည့်ပြီး ပုံးတစ်ခုချင်းစီကို သီးခြား စီစဥ်ပေါင်းစည်းနည်း။

စာမေးပွဲအမှတ်များကို Grade A, B, C အခန်းများခွဲ၍ အခန်းတွင်း သီးခြား စီစဥ်ပြီးမှ ပြန်ဆက်ခြင်း။
စီစဥ်ခြင်း (Sorting)

ရှဲလ်ဆော့တ် (Shell Sort)

Shell Sort

အလယ်အလတ် (Medium)
Time:O(n^1.33)
Space:O(1)

Insertion Sort ကို အခြေခံပြီး ဝေးကွာသော ဒြပ်စင်များကို ကြားကွာဟချက် (Gap) အလိုက် ဦးစွာ နှိုင်းယှဉ်စီစဥ်သည့် နည်း။

အကွာအဝေး ကြီးမားစွာ ခုန်ကျော် လဲလှယ်ပြီးမှ နောက်ဆုံးတွင် အနီးကပ် ညှိယူခြင်း။
လွယ်ကူ (Easy)
Time:O(n²)
Space:O(1)

Bubble Sort ကို ဘယ်မှညာသို့ တစ်ခေါက်၊ ညာမှဘယ်သို့ တစ်ခေါက် နှစ်ဖက်စလုံးသို့ စုန်ဆန် လူးလာ နှိုင်းယှဉ် စီစဥ်နည်း။

ဖျော်ရည်ခွက်ကို ဘယ်ညာ နှစ်ဖက် လှုပ်ယမ်း၍ အလေးနှင့်အပေါ့ အညီအမျှ စီစဥ်ခြင်း။
လွယ်ကူ (Easy)
Time:O(n²)
Space:O(1)

ပန်းအိုးများကို စီစဉ်သော ဥယျာဉ်စောင့်ကဲ့သို့ မှန်ကန်လျှင် ရှေ့တစ်လှမ်းတိုး၊ မှားနေလျှင် လဲလှယ်၍ နောက်တစ်လှမ်းဆုတ်သည့် နည်း။

ဥယျာဉ်စောင့် ပုဏ္ဏားပုလေးသည် ပန်းအိုးစဉ် မှန်လျှင် ရှေ့တိုး၊ မမှန်လျှင် လဲပြီး နောက်ဆုတ် စစ်ဆေးခြင်း။
စီစဥ်ခြင်း (Sorting)

ဘီးဖြီး စီစဥ်ခြင်း (Comb Sort)

Comb Sort

အလယ်အလတ် (Medium)
Time:O(n²/2^p)
Space:O(1)

Bubble Sort ကို တိုးတက်စေပြီး Shrink Factor (1.3) ဖြင့် ကြီးမားသော Gap များမှ စတင် နှိုင်းယှဉ် စီစဥ်သည့် နည်း။

ဆံပင်ရှုပ်များကို ဘီးကျဲဖြင့် အရင် ရှင်းထုတ်ပြီး နောက်ဆုံးမှ ဘီးစိပ်ဖြင့် သပ်ရပ်အောင် ဖြီးခြင်း။
အလယ်အလတ် (Medium)
Time:O(n + Range)
Space:O(Range)

Counting Sort ကဲ့သို့ ဖြစ်ပြီး တန်ဖိုးအပိုင်းအခြား (Range) နှင့် ဒြပ်စင်အရေအတွက် နီးစပ်ချိန်တွင် အလွန်မြန်သည့် နည်း။

စာတိုက်ရှိ စာတိုက်ပုံး (Pigeonholes) အကွက်လေးများထဲသို့ လိပ်စာနံပါတ်အလိုက် စာအိတ်များ ခွဲထည့်ခြင်း။
ခက်ခဲ (Hard)
Time:O(n log n)
Space:O(n)

Merge Sort နှင့် Insertion Sort တို့ကို အားသာချက်ချင်း ပေါင်းစပ်ထားသော ကမ္ဘာ့အမြန်ဆုံး လက်တွေ့သုံး Sorting နည်း။

စာအုပ်များကို အုပ်စုငယ်ခွဲ၍ လက်ဖြင့် အမြန်စီပြီးမှ စင်ကြီးပေါ်သို့ စနစ်တကျ ပေါင်းတင်ခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

အကျယ်ဦးစားပေး ရှာဖွေခြင်း (BFS)

Breadth-First Search (BFS)

လွယ်ကူ (Easy)
Time:O(V + E)
Space:O(V)

စတင်ရာ Node မှ နီးရာ အလွှာလိုက် (Layer by Layer) တစ်ဆင့်ချင်းစီ ဖြန့်ကျက် ရှာဖွေသော နည်းလမ်း။

ရေကန်ထဲသို့ ခဲလုံးပစ်ချလိုက်သောအခါ ဗဟိုချက်မှ လှိုင်းဂယက်များ အလွှာလိုက် ဝိုင်းစက် ပြန့်ကားသွားခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

အနက်ဦးစားပေး ရှာဖွေခြင်း (DFS)

Depth-First Search (DFS)

လွယ်ကူ (Easy)
Time:O(V + E)
Space:O(V)

လမ်းကြောင်းတစ်ခုတည်းကို အဆုံးထိ ဦးစွာ နက်ရှိုင်းစွာ လျှောက်ပြီး မဖြစ်နိုင်မှ နောက်ပြန်ဆုတ် ရှာဖွေသော နည်းလမ်း။

ဝင်္ကပါ (Maze) တစ်ခုထဲသို့ ဝင်သောအခါ လမ်းဆုံးသည်အထိ တည့်တည့်လျှောက်၍ လမ်းပိတ်မှ နောက်ပြန်ဆုတ် လမ်းပြောင်းလျှောက်ခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

ဒိုက်စ်ထရာ အနီးဆုံးလမ်းကြောင်း (Dijkstra)

Dijkstra's Shortest Path

အလယ်အလတ် (Medium)
Time:O((V + E) log V)
Space:O(V)

အလေးချိန် (Weighted Graph) ပါသော မြို့များအကြား အတိုဆုံး ကုန်ကျစရိတ် လမ်းကြောင်းကို Priority Queue ဖြင့် တွက်ချက်နည်း။

မြေပုံပေါ်ရှိ မြို့များဆီသို့ သွားရာတွင် ကားခ/ဆီဖိုး အနည်းဆုံး ကုန်ကျမည့် လမ်းကြောင်းကို ရွေးချယ်မောင်းနှင်ခြင်း။
အလယ်အလတ် (Medium)
Time:O(V × E)
Space:O(V)

Negative Weight (အနုတ်တန်ဖိုး လမ်းကြောင်းများ) ပါဝင်သော ဂရပ်ဖ်တွင် အတိုဆုံးလမ်းရှာပြီး Negative Cycle ကို ရှာဖွေနိုင်သော နည်း။

ငွေကြေးလဲလှယ်ရာတွင် အမြတ်အစွန်း သံသရာလည်နေသော (Arbitrage loop) ဈေးကွက်လမ်းကြောင်းကို ရှာဖွေခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

မြို့အားလုံး အတိုဆုံးလမ်းကြောင်း (All-Pairs Shortest Path)

Floyd-Warshall Algorithm

ခက်ခဲ (Hard)
Time:O(V³)
Space:O(V²)

Graph အတွင်းရှိ မည်သည့် Node စုံတွဲမဆို (All-Pairs) ကြားရှိ အတိုဆုံး လမ်းကြောင်းများကို DP ဇယားဖြင့် တစ်ပြိုင်နက် တွက်နည်း။

လေကြောင်းလိုင်း တစ်ခုရှိ မြို့အားလုံးအကြား တိုက်ရိုက်လမ်းနှင့် တစ်ဆင့်ခံ လမ်းကြောင်းများ၏ အသက်သာဆုံး စရိတ်ဇယား တည်ဆောက်ခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

ခရပ်စ်ကယ် အနည်းဆုံး ဆက်သွယ်ကွန်ရက် (Kruskal MST)

Kruskal's Minimum Spanning Tree (MST)

အလယ်အလတ် (Medium)
Time:O(E log E)
Space:O(V + E)

Edge များကို အလေးချိန်ငယ်ရာမှကြီးရာ စီပြီး Cycle မဖြစ်စေသော လမ်းများကို ရွေးချယ်၍ အသက်သာဆုံး ကွန်ရက် တည်ဆောက်နည်း။

နိုင်ငံတစ်ဝန်း လျှပ်စစ်မီးတိုင်များ ဆက်သွယ်ရာတွင် ကုန်ကျစရိတ် အနည်းဆုံး ကြိုးဆက်သွယ်မှုများကို ဦးစွာ ရွေးချယ်သွယ်တန်းခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

ပရင်းမ် အနည်းဆုံး ဆက်သွယ်ကွန်ရက် (Prim MST)

Prim's Minimum Spanning Tree (MST)

အလယ်အလတ် (Medium)
Time:O(E log V)
Space:O(V + E)

လက်ရှိ ချိတ်ဆက်ပြီးသော ကွန်ရက်အုပ်စုနှင့် မချိတ်ရသေးသော Nodes များအကြား အတိုဆုံး လမ်းကို တစ်ဆင့်ချင်း တိုးချဲ့သည့် နည်း။

ရေပိုက်လိုင်း ကွန်ရက်ကို ရေကန်ဗဟိုမှ စတင်၍ တစ်အိမ်ပြီးတစ်အိမ် အနီးဆုံးလမ်းအတိုင်း တိုးချဲ့သွယ်တန်းခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

ကန့်သတ်ချက်အလိုက် အဆင့်ဆင့်စီစဥ်ခြင်း (Topological Sort)

Topological Sort (DFS based)

အလယ်အလတ် (Medium)
Time:O(V + E)
Space:O(V)

ဦးစွာ ပြီးစီးရမည့် အလုပ် (Prerequisites) ရှိသော Directed Acyclic Graph (DAG) တွင် အလုပ်လုပ်ရမည့် မှန်ကန်သော အစဉ်ကို ထုတ်ပေးနည်း။

အိမ်ဆောက်ရာတွင် ဖောင်ဒေးရှင်း အရင်ချ၊ ပြီးမှ တိုင်ထူ၊ နောက်ဆုံးမှ ခေါင်မိုးတင်သည့် အဆင့်လိုက် စီစဥ်ခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

တာဂျန် အားကောင်းစွာ ချိတ်ဆက်နေသောအုပ်စု (Tarjan SCC)

Tarjan's Strongly Connected Components (SCC)

ခက်ခဲ (Hard)
Time:O(V + E)
Space:O(V)

Directed Graph အတွင်း တစ်ခုနှင့်တစ်ခု အပြန်အလှန် ရောက်ရှိနိုင်သော (Strongly Connected) အုပ်စုအားလုံးကို DFS တစ်ကြိမ်တည်းဖြင့် ရှာနည်း။

မြို့ကြီးများအတွင်း မည်သည့်နေရာမှမဆို အပြန်အလှန် သွားလာနိုင်သည့် ကားလမ်းသံသရာ ကွန်ရက်အုပ်စုများကို ခွဲခြားခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

ကိုဆာရာဂျူ SCC အယ်လဂိုရစ်သမ် (Kosaraju SCC)

Kosaraju's Algorithm for SCC

ခက်ခဲ (Hard)
Time:O(V + E)
Space:O(V + E)

Graph ၏ လမ်းကြောင်းအားလုံးကို ပြောင်းပြန်လှန် (Transpose) ပြီး DFS ၂ ကြိမ်ဖြင့် SCC အုပ်စုများကို ရှာနည်း။

တစ်လမ်းမောင်း လမ်းများကို ပြောင်းပြန်လှန်ပြီးနောက်တွင်လည်း အပြန်အလှန် ဆက်သွယ်နေဆဲ ဖြစ်သော ရပ်ကွက်များကို ရှာခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

A* ဉာဏ်ရည်တု လမ်းကြောင်းရှာဖွေခြင်း (A-Star)

A* (A-Star) Search Algorithm

ခက်ခဲ (Hard)
Time:O(E log V)
Space:O(V)

f(n) = g(n) + h(n) ဟူသော ခန့်မှန်း Heuristic တန်ဖိုးကို ပေါင်းစပ်၍ လိုရာပန်းတိုင်သို့ အမြန်ဆုံး ဦးတည်ရှာဖွေသော နည်း။

သံလိုက်အိမ်မြှောင်ဖြင့် ခရီးပန်းတိုင် ရှိရာ အရပ်မျက်နှာကို ချိန်ရွယ်၍ တည့်မတ်သော လမ်းများကို ဦးစားပေး လျှောက်ခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

နှစ်အုပ်စုခွဲနိုင်သော ဂရပ်ဖ် စစ်ဆေးခြင်း (Bipartite Check)

Bipartite Graph Check (2-Coloring)

အလယ်အလတ် (Medium)
Time:O(V + E)
Space:O(V)

ဆက်သွယ်ထားသော အိမ်နီးချင်း Node များ အရောင်မတူစေဘဲ အရောင် ၂ မျိုးတည်းဖြင့် ဆေးခြယ်နိုင်ခြင်း ရှိ/မရှိ BFS ဖြင့် စစ်ဆေးနည်း။

ပြိုင်ဘက်အသင်း နှစ်သင်းအကြား ကစားသမားများကို အင်္ကျီအရောင် နှစ်ရောင်တည်းဖြင့် မထပ်အောင် ခွဲခြားဝတ်ဆင်ပေးခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

ကန်-၏ အဆင့်လိုက်စီစဥ်နည်း (Kahn Topological Sort)

Kahn's Algorithm (BFS Topological Sort)

အလယ်အလတ် (Medium)
Time:O(V + E)
Space:O(V)

In-degree (မိမိထံ ဝင်ရောက်လာသော မျှားအရေအတွက်) ၀ ဖြစ်သော Node များကို Queue ဖြင့် ထုတ်ယူ၍ စီစဥ်နည်း။

ရှေ့အဆင့် လိုအပ်ချက် လုံးဝမရှိတော့သော အလုပ်များကို ဦးစွာ ရွေးထုတ် ပြီးစီးစေခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

တံတားအားလုံး တစ်ကြိမ်တည်း ဖြတ်သန်းနည်း (Eulerian Path)

Hierholzer's Eulerian Circuit / Path

ခက်ခဲ (Hard)
Time:O(V + E)
Space:O(V + E)

Graph ပေါ်ရှိ လမ်းကြောင်း (Edges) အားလုံးကို မထပ်စေဘဲ တစ်ကြိမ်တည်းဖြင့် ဖြတ်သန်းသွားလာနိုင်သော လမ်းရှာနည်း။

ခဲတံ မကြွဘဲ ပုံဖော်ဆွဲရာတွင် မျဉ်းကြောင်းအားလုံးကို မထပ်စေဘဲ တစ်ဆက်တည်း ဆွဲသွားခြင်း။
ဂရပ်ဖ် လမ်းကြောင်း (Graph)

အမြင့်ဆုံး ရေစီးဆင်းနှုန်း ရှာဖွေနည်း (Edmonds-Karp)

Edmonds-Karp Maximum Flow

ခက်ခဲ (Hard)
Time:O(V × E²)
Space:O(V²)

Ford-Fulkerson နည်းကို BFS ဖြင့် အဆင့်မြှင့်ပြီး Source မှ Sink သို့ အများဆုံး စီးဆင်းနိုင်သော Max Flow တွက်နည်း။

ရေလှောင်ကန်မှ မြို့တွင်း ရေဖြန့်ဝေရာ၌ ပိုက်လိုင်းအကျဉ်းဆုံး နေရာများအလိုက် အများဆုံး ပို့နိုင်မည့် ရေထုထည် တွက်ခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

ဖီဘိုနာချီ ကိန်းစဉ် (Dynamic Programming)

Fibonacci Sequence (Dynamic Programming)

လွယ်ကူ (Easy)
Time:O(n)
Space:O(1)

ထပ်ခါတလဲလဲ တွက်ချက်ရသည့် ကိန်းစဉ်များကို Memoization သို့မဟုတ် Tabulation ဖြင့် မှတ်သား၍ O(n) အချိန်တွင်း တွက်နည်း။

စာမေးပွဲ ပုစ္ဆာဟောင်း အဖြေများကို မှတ်စုစာအုပ်တွင် ကြိုရေးမှတ်ထားပြီး ထပ်မေးလျှင် စာအုပ်ကြည့်၍ ချက်ချင်း ဖြေဆိုခြင်း။
အလယ်အလတ် (Medium)
Time:O(n × W)
Space:O(W)

အိတ်၏ သယ်ဆောင်နိုင်သော အလေးချိန် ကန့်သတ်ချက်အတွင်း စုစုပေါင်း တန်ဖိုးအများဆုံး ရစေရန် ပစ္စည်းများကို ရွေးချယ်နည်း။

သူခိုးတစ်ဦး ကျောပိုးအိတ်ဖြင့် ပစ္စည်းခိုးရာတွင် အိတ်ဆန့်မည့် ကန့်သတ်ချက်အတွင်း တန်ဖိုးအကြီးဆုံး ရတနာများကို ရွေးထည့်ခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

တူညီသော အရှည်ဆုံး စာလုံးစဉ် (LCS)

Longest Common Subsequence (LCS)

အလယ်အလတ် (Medium)
Time:O(m × n)
Space:O(m × n)

စာကြောင်း နှစ်ခုအကြား ဆက်တိုက် ကပ်လျက် မဟုတ်သော်လည်း အစဉ်လိုက် တူညီသော အရှည်ဆုံး စာလုံးတွဲကို ရှာနည်း။

ဝါကျနှစ်ခုကို ယှဉ်ဖတ်ပြီး မတူသော စာလုံးများကို ဖျက်ထုတ်လိုက်ပါက ကျန်ရှိမည့် တူညီသော စာလုံးတွဲ ရှာခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

တန်ဖိုးတိုး အရှည်ဆုံး ကိန်းစဉ် (LIS)

Longest Increasing Subsequence (LIS)

အလယ်အလတ် (Medium)
Time:O(n log n)
Space:O(n)

ကိန်းများစွာအနက် ရှေ့မှနောက်သို့ တန်ဖိုး ကြီးစဉ်ငယ်လိုက် (သို့မဟုတ် ငယ်စဉ်ကြီးလိုက်) ဆက်တိုက်တိုးသည့် အရှည်ဆုံး အစဉ်ကို ရှာနည်း။

ဖဲကစားသမားသည် ဖဲချပ်များကို ငယ်ရာမှကြီးရာ စီရာ၌ ရှေ့ချပ်ထက် ကြီးသော ဖဲချပ်များကိုသာ ဆက်တိုက် ရွေးထုတ်ခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

မက်ထရစ် ကွင်းဆက် မြှောက်လဒ် တွက်ချက်မှု (MCM)

Matrix Chain Multiplication (MCM)

ခက်ခဲ (Hard)
Time:O(n³)
Space:O(n²)

မက်ထရစ် အများအပြား မြှောက်ရာတွင် ကိန်းဂဏန်း မြှောက်လဒ် အနည်းဆုံး ကုန်ကျမည့် ကွင်းခတ် (Parenthesization) အစဉ်ကို တွက်နည်း။

စက်ရုံများ ဆင့်ကဲ ထုတ်လုပ်ရာတွင် အလုပ်သမား အင်အား အသက်သာဆုံး ထုတ်လုပ်မှု အစီအစဉ်ကို ရွေးချယ်ခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

အကြွေစေ့ အနည်းဆုံး လဲလှယ်ခြင်း (Coin Change)

Coin Change Problem (Minimum Coins)

အလယ်အလတ် (Medium)
Time:O(amount × N)
Space:O(amount)

သတ်မှတ်ထားသော ငွေပမာဏတစ်ခုရရန် ရှိသော အကြွေစေ့များထဲမှ အရေအတွက် အနည်းဆုံး လိုအပ်ချက်ကို တွက်နည်း။

ငွေကိုင်စာရေးသည် ဖောက်သည်အား အကြွေအမ်းရာတွင် ဒင်္ဂါးပြား အရေအတွက် အနည်းဆုံး ဖြစ်အောင် အမ်းခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

စာလုံးပြင်ဆင်မှု အကွာအဝေး (Edit Distance)

Edit Distance (Levenshtein Distance)

ခက်ခဲ (Hard)
Time:O(m × n)
Space:O(m × n)

စာကြောင်းတစ်ခုကို အခြားတစ်ခုဖြစ်ရန် ထည့်သွင်း/ဖျက်/ပြောင်း လုပ်ငန်း (Insert/Delete/Replace) အနည်းဆုံး အကြိမ်ရေ တွက်နည်း။

စာလုံးပေါင်း မှားယွင်းနေသော ဝေါဟာရတစ်ခုကို အမှန်ဖြစ်အောင် အနည်းဆုံး ပြင်ဆင်ရမည့် အကြိမ်ရေ တွက်ချက်ခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

တန်ဖိုးပေါင်းလဒ် ကိုက်ညီသော အပိုင်းငယ် (Subset Sum)

Subset Sum Problem (Dynamic Programming)

အလယ်အလတ် (Medium)
Time:O(n × sum)
Space:O(sum)

ကိန်းများစွာထဲမှ အချို့ကို ရွေးချယ်ပေါင်းသောအခါ လိုချင်သော Target ပေါင်းလဒ် အတိအကျ ရ/မရ တွက်နည်း။

ငွေစက္ကူ အမျိုးမျိုးထဲမှ လိုချင်သော ငွေပမာဏ အတိအကျ ပြည့်မီအောင် တွဲဖက်ပေးနိုင်ခြင်း ရှိ/မရှိ စစ်ဆေးခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

သံချောင်း ဖြတ်တောက် ရောင်းချနည်း (Rod Cutting)

Rod Cutting Problem (Unbounded Knapsack)

အလယ်အလတ် (Medium)
Time:O(n²)
Space:O(n)

အရှည် n ရှိ သံချောင်းကို ဈေးနှုန်းအမျိုးမျိုးဖြင့် ဖြတ်တောက် ရောင်းချရာတွင် ဝင်ငွေအများဆုံး ရစေမည့် နည်းလမ်း။

သစ်လုံးကြီး တစ်လုံးကို အရှည်တို/ရှည် ဖြတ်၍ ပရိဘောဂလုပ်ရာတွင် အမြတ်အများဆုံး ရစေမည့် ဖြတ်နည်းရွေးခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

ရှေ့နောက်ညီ အရှည်ဆုံး စာလုံးတွဲ (LPS DP)

Longest Palindromic Subsequence (LPS)

အလယ်အလတ် (Medium)
Time:O(n²)
Space:O(n²)

စာကြောင်းတစ်ခုအတွင်း ရှေ့မှဖတ်ဖတ် နောက်မှဖတ်ဖတ် တူညီသော (Palindrome) အရှည်ဆုံး စာလုံးစဉ်ကို တွက်နည်း။

စကားစုတစ်ခုအတွင်း မလိုသော စာလုံးအချို့ ဖြုတ်လိုက်ပါက ရှေ့နောက်ဖတ် တူညီမည့် စကားလုံး ရှာခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

ကြက်ဥချ ပဟေဠိ (Egg Dropping DP)

Egg Dropping Puzzle (Dynamic Programming)

ခက်ခဲ (Hard)
Time:O(k × n)
Space:O(k × n)

ကြက်ဥ k လုံးနှင့် အထပ် n ထပ်ရှိ အဆောက်အအုံတွင် ကြက်ဥကွဲစေသည့် အန္တရာယ်အထပ်ကို အကြိမ်အနည်းဆုံးဖြင့် ရှာနည်း။

ဖုန်းစခရင် မှန်ခံနိုင်ရည်ကို အဆောက်အအုံ အထပ်များမှ စမ်းသပ် ပစ်ချရာ၌ ဖုန်းအလုံးရေ အကန့်အသတ်ဖြင့် စမ်းသပ်ခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

အဘိဓာန်စကားလုံး ခွဲခြားခြင်း (Word Break)

Word Break Problem

အလယ်အလတ် (Medium)
Time:O(n²)
Space:O(n)

ဆက်တိုက် ရေးထားသော စာကြောင်းတစ်ခုကို အဘိဓာန်ရှိ စကားလုံးများအဖြစ် မှန်ကန်စွာ ပိုင်းခြားနိုင်ခြင်း ရှိ/မရှိ စစ်ဆေးနည်း။

Space မပါဘဲ တွဲလျက် ရေးထားသော "ilovemyanmar" ကို "i love myanmar" ဟု ခွဲနိုင်/မခွဲနိုင် စစ်ဆေးခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

ကပ်လျက်အိမ် မဖောက်ထွင်းဘဲ အများဆုံး ခိုးယူခြင်း

House Robber Problem

လွယ်ကူ (Easy)
Time:O(n)
Space:O(1)

ကပ်လျက်အိမ် နှစ်လုံး ဆက်တိုက် ဝင်ရောက်ပါက အချက်ပေးမီး မြည်မည်ဖြစ်၍ မကပ်လျက် အိမ်များမှ ငွေအများဆုံး ရအောင် ယူနည်း။

ကပ်လျက် ပန်းပွင့်များကို ခူးလျှင် ညှိုးလွယ်သဖြင့် တစ်ပွင့်ကျော် ခူးယူခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

လှေကားထစ် တက်ရောက်နည်း (Climbing Stairs)

Climbing Stairs (DP / Fibonacci equivalent)

လွယ်ကူ (Easy)
Time:O(n)
Space:O(1)

တစ်ကြိမ်လျှင် လှေကား ၁ ထစ် သို့မဟုတ် ၂ ထစ် တက်နိုင်ရာ အထပ် n ထပ်သို့ တက်ရောက်နိုင်သော နည်းလမ်းပေါင်း အရေအတွက် တွက်နည်း။

အထပ်မြင့်သို့ ရောက်ရန် နောက်ဆုံး ခြေတစ်လှမ်း နှင့် ခြေနှစ်လှမ်း အကွာများ၏ နည်းလမ်းများကို ပေါင်းခြင်း။
ဒိုင်းနမစ် ဖြေရှင်းနည်း (DP)

ကဒိန်း-၏ အများဆုံး ကပ်လျက်ပေါင်းလဒ် (Kadane DP)

Kadane's Algorithm (Maximum Subarray Sum)

အလယ်အလတ် (Medium)
Time:O(n)
Space:O(1)

အပေါင်းအနုတ် ရောနှောနေသော Array တွင် ကပ်လျက်ရှိသော ကိန်းများ၏ အများဆုံး ပေါင်းလဒ်ကို O(n) တစ်ခေါက်တည်းဖြင့် ရှာနည်း။

စီးပွားရေး ရင်းနှီးမြှုပ်နှံရာတွင် အရှုံးပေါ်လွန်းသည့် ကာလကို စွန့်လွှတ်၍ အမြတ်ရမည့် ကာလသစ်မှ စတင် တွက်ချက်ခြင်း။
လောဘ-လွယ်ကူ ဦးစားပေးနည်း (Greedy)

ဟက်ဖ်မန်း ဒေတာချုံ့နည်း (Huffman Coding)

Huffman Coding Data Compression

အလယ်အလတ် (Medium)
Time:O(n log n)
Space:O(n)

အကြိမ်အများဆုံး ပါဝင်သည့် စာလုံးများကို ဘစ် (Bit) အတိုဆုံး ကုတ်များ သတ်မှတ်၍ ဖိုင်အရွယ်အစား ချုံ့နည်း။

အသုံးများသော စကားလုံးများကို အတိုကောက် (Abbreviation) သတ်မှတ်ပြီး အသုံးနည်းသော စကားလုံးများကိုသာ အရှည်ရေးခြင်း။
လောဘ-လွယ်ကူ ဦးစားပေးနည်း (Greedy)

အလုပ်ချိန် မထပ်စေဘဲ အလုပ်အများဆုံး ရွေးချယ်နည်း

Activity Selection Problem

လွယ်ကူ (Easy)
Time:O(n log n)
Space:O(1)

စတင်ချိန်နှင့် ပြီးဆုံးချိန်များရှိသည့် အလုပ်များအနက် တစ်ချိန်တည်း အများဆုံး ပြီးမြောက်မည့် အလုပ်များကို ရွေးနည်း။

အစည်းအဝေးခန်း တစ်ခုတည်းတွင် အစည်းအဝေး အကြိမ်ရေ အများဆုံး ကျင်းပနိုင်ရန် အစောဆုံး ပြီးမည့် ပွဲများကို ရွေးချယ်ခြင်း။
လောဘ-လွယ်ကူ ဦးစားပေးနည်း (Greedy)

အစိတ်အပိုင်းခွဲရသော ကျောပိုးအိတ် ပြဿနာ (Fractional Knapsack)

Fractional Knapsack Problem

အလယ်အလတ် (Medium)
Time:O(n log n)
Space:O(1)

ပစ္စည်းများကို တစ်ဝက် သို့မဟုတ် အစိတ်အပိုင်းခွဲ၍ ထည့်နိုင်ရာတွင် ယူနစ်တန်ဖိုး အမြင့်ဆုံးမှ စတင်ထည့်၍ တန်ဖိုးအများဆုံး ရယူနည်း။

ရွှေမှုန့်နှင့် ငွေမှုန့်များကို ကျောပိုးအိတ် အပြည့်ထည့်ရာတွင် တစ်ဂရမ်ချင်း တန်ဖိုးအကြီးဆုံး ရွှေမှုန့်ကို ဦးစွာ အပြည့်ထည့်ခြင်း။
လောဘ-လွယ်ကူ ဦးစားပေးနည်း (Greedy)

သတ်မှတ်ရက်ပါ အလုပ်များကို အမြတ်အများဆုံး စီစဥ်နည်း

Job Sequencing Problem with Deadlines

အလယ်အလတ် (Medium)
Time:O(n²)
Space:O(n)

အလုပ်တစ်ခုစီတွင် Deadline နှင့် Profit ရှိရာ အမြတ်အများဆုံးရမည့် အလုပ်များကို Deadline မတိုင်မီ နေရာချ စီစဥ်နည်း။

ဝင်ငွေအကောင်းဆုံး ပရောဂျက်များကို သတ်မှတ်ရက် မကျော်လွန်စေဘဲ ပြက္ခဒိန်ပေါ်၌ စနစ်တကျ ထည့်သွင်းခြင်း။
လောဘ-လွယ်ကူ ဦးစားပေးနည်း (Greedy)

အီဂျစ် အပိုင်းဂဏန်း ခွဲခြမ်းနည်း (Egyptian Fraction)

Egyptian Fraction Representation (Greedy)

အလယ်အလတ် (Medium)
Time:O(log n)
Space:O(1)

အပိုင်းဂဏန်းတစ်ခုကို ပိုင်းဝေ ၁ (Unit Fraction `1/n`) များ၏ ပေါင်းလဒ်အဖြစ် ခွဲခြမ်းရေးသားနည်း။

ကိတ်မုန့်ကြီးကို လူအများအား ခွဲဝေရာတွင် အကြီးဆုံး ဖြစ်နိုင်သော အချိုးကို ဦးစွာ ပေးအပ်ခြင်း။
လောဘ-လွယ်ကူ ဦးစားပေးနည်း (Greedy)

ဆီဆိုင် ဝိုင်းပတ် ခရီးစဉ် (Gas Station Greedy)

Gas Station Circuit Tour Problem

အလယ်အလတ် (Medium)
Time:O(n)
Space:O(1)

ဆီဆိုင် n ဆိုင်ရှိရာ မည်သည့်ဆိုင်မှ စတင်မောင်းနှင်ပါက ဆီမကုန်ဘဲ တစ်ပတ်အပြည့် ဝိုင်းပတ်နိုင်မည်ကို O(n) ဖြင့် ရှာနည်း။

ကားမောင်းရာတွင် လမ်းခုလတ် ဆီပြတ်သွားပါက ကျော်ဖြတ်ခဲ့သော ဆိုင်များကို မစဉ်းစားတော့ဘဲ ရှေ့ဆိုင်မှ အသစ်ပြန်စခြင်း။
လောဘ-လွယ်ကူ ဦးစားပေးနည်း (Greedy)

ဘူတာရုံ ရထားလမ်း စင်္ကြံအနည်းဆုံး လိုအပ်ချက်

Minimum Platforms for Railway Station

အလယ်အလတ် (Medium)
Time:O(n log n)
Space:O(1)

ရထားများ ဆိုက်ရောက်/ထွက်ခွာချိန်စာရင်း အရ မည်သည့်ရထားမျှ မစောင့်ဆိုင်းရစေရန် လိုအပ်သော အနည်းဆုံး ပလက်ဖောင်း အရေအတွက် တွက်နည်း။

ကားပါကင်တွင် ဝင်ကား/ထွက်ကား အချိန်များကို ကြည့်၍ တစ်ပြိုင်နက် ရပ်နားမည့် အများဆုံး ယာဉ်အရေအတွက်ကို ရှာခြင်း။
လောဘ-လွယ်ကူ ဦးစားပေးနည်း (Greedy)

ရေပိုက်လိုင်း ဆက်သွယ်မှု ကွန်ရက် အနည်းဆုံး လမ်းကြောင်း

Water Connection Problem (Pipes & Taps)

အလယ်အလတ် (Medium)
Time:O(V + E)
Space:O(V)

အိမ်များသို့ ရေသွယ်တန်းရာတွင် အစပိုက် (Tank) နှင့် အဆုံးပိုက် (Tap) တွဲဖက်မှုများကို အချင်းအကျဉ်းဆုံး ပိုက်တန်ဖိုးဖြင့် ရှာနည်း။

ရေစင်မှ နေအိမ်အဆုံးထိ ပိုက်လိုင်းဆက်ကြောင်းများအနက် အသေးဆုံး ပိုက်အရွယ်အစားကို မှတ်သားခြင်း။
လောဘ-လွယ်ကူ ဦးစားပေးနည်း (Greedy)

ကလေးများကို သကြားလုံး ဝေငှနည်း (Candy Greedy)

Candy Distribution Problem (Greedy Two-Pass)

ခက်ခဲ (Hard)
Time:O(n)
Space:O(n)

ကလေးတိုင်း အနည်းဆုံး ၁ လုံးရရှိစေပြီး အမှတ်များသူက ဘေးလူထက် ပိုရရန် အနည်းဆုံး သကြားလုံး အရေအတွက် တွက်နည်း။

ကျောင်းသားများကို အမှတ်စာရင်းအရ မကျေနပ်မှု မရှိစေဘဲ ဆုအနည်းဆုံး ကုန်ကျအောင် ချီးမြှင့်ခြင်း။
လောဘ-လွယ်ကူ ဦးစားပေးနည်း (Greedy)

ထပ်ဆင့်မနေသော အချိန်ဇယားများ အများဆုံး ရွေးချယ်ခြင်း

Non-overlapping Interval Scheduling Problem

အလယ်အလတ် (Medium)
Time:O(n log n)
Space:O(1)

ကြားကာလ (Intervals) အများအပြားအနက် မထပ်ဆင့်စေဘဲ အများဆုံး ထားရှိနိုင်ရန် ဖယ်ရှားရမည့် အနည်းဆုံး အရေအတွက် ရှာနည်း။

တီဗွီအစီအစဉ် ဇယားများ မထပ်စေဘဲ အစီအစဉ် အများဆုံး ကြည့်ရှုနိုင်ရန် ရွေးချယ်ခြင်း။
လွယ်ကူ (Easy)
Time:O(log n)
Space:O(h)

ဘယ်ဘက်တွင် မိဘထက်ငယ်သောတန်ဖိုး၊ ညာဘက်တွင် ကြီးသောတန်ဖိုးထား၍ O(log n) ဖြင့် ရှာဖွေ/ထည့်သွင်းနည်း။

မိသားစုဆွေစဉ်မျိုးဆက် သစ်ပင်ပုံစံတွင် အသက်ငယ်သူကို ဘယ်၊ ကြီးသူကို ညာခွဲထားခြင်း။
သစ်ပင်ပုံစံ ကွန်ရက် (Tree)

ဘယ်-အလယ်-ညာ အစဉ်လိုက် သစ်ပင်ဖြတ်သန်းနည်း

Tree In-order Traversal (Left - Root - Right)

လွယ်ကူ (Easy)
Time:O(n)
Space:O(h)

ဘယ်ဘက်အခြမ်း၊ Root နှင့် ညာဘက်အခြမ်း အစဉ်အတိုင်း ဖြတ်သန်းခြင်းဖြင့် BST မှ ကြီးစဉ်ငယ်လိုက် ကိန်းများကို ရယူနည်း။

စာအုပ်စင်ပေါ်မှ စာအုပ်များကို ဘယ်ဘက်အစွန်ဆုံးမှ ညာဘက်အစွန်ဆုံးသို့ အစဉ်လိုက် ဖတ်ခြင်း။
သစ်ပင်ပုံစံ ကွန်ရက် (Tree)

အလယ်-ဘယ်-ညာ ဦးစွာ ဖြတ်သန်းနည်း

Tree Pre-order Traversal (Root - Left - Right)

လွယ်ကူ (Easy)
Time:O(n)
Space:O(h)

Root ကို ဦးစွာ မှတ်သားပြီးမှ ဘယ်နှင့်ညာသို့ ဆက်သွားခြင်းဖြင့် Tree တစ်ခုလုံး၏ မိတ္တူ သို့မဟုတ် Prefix Expression ထုတ်နည်း။

ကုမ္ပဏီတစ်ခုတွင် ညွှန်ကြားချက်ကို ဥက္ကဋ္ဌမှ ဌာနမှူး၊ ဌာနမှူးမှ အောက်လက်ငယ်သားဆီ အဆင့်ဆင့် ချမှတ်ခြင်း။
သစ်ပင်ပုံစံ ကွန်ရက် (Tree)

ဘယ်-ညာ-အလယ် နောက်ဆုံးမှ ဖြတ်သန်းနည်း

Tree Post-order Traversal (Left - Right - Root)

လွယ်ကူ (Easy)
Time:O(n)
Space:O(h)

ကလေး Node များကို ဦးစွာ ပြီးစီးစေပြီးမှ Root ကို နောက်ဆုံး တွက်ချက်သည့် သစ်ပင်ဖျက်သိမ်းမှု/အမြင့်တွက်နည်း။

အဆောက်အအုံ ဖြိုဖျက်ရာ၌ အပေါ်ဆုံးထပ်များကို အရင်ဖြိုပြီးမှ အောက်ခြေတိုင်များကို နောက်ဆုံး ဖြိုဖျက်ခြင်း။
သစ်ပင်ပုံစံ ကွန်ရက် (Tree)

ဘုံဘိုးဘေးအနီးဆုံး Node ရှာဖွေခြင်း (LCA)

Lowest Common Ancestor (LCA) in Binary Tree

အလယ်အလတ် (Medium)
Time:O(n)
Space:O(h)

Node နှစ်ခု p နှင့် q တို့၏ အနီးဆုံး ဆွေစဉ်မျိုးဆက် ဘုံဘိုးဘေး (Ancestor) ကို O(n) ဖြင့် ရှာနည်း။

ညီအစ်ကိုဝမ်းကွဲ နှစ်ဦး၏ ဆွေစဉ်မျိုးဆက်ပြပုံတွင် အနီးဆုံး ဘုံဘိုးဘေး အဘိုးကို ရှာဖွေခြင်း။
သစ်ပင်ပုံစံ ကွန်ရက် (Tree)

အလိုအလျောက် ချိန်ခွင်လျှာညှိ သစ်ပင် (AVL Tree)

AVL Tree Self-Balancing Rotations

ခက်ခဲ (Hard)
Time:O(log n)
Space:O(log n)

Node ထည့်တိုင်း ဘယ်ညာ အမြင့်ကွာဟချက် Balance Factor (-1, 0, 1) မကျော်စေရန် Rotations ဖြင့် ထိန်းကျောင်းနည်း။

ချိန်ခွင်တစ်ခုတွင် တစ်ဖက်သို့ လေးလံမသွားစေရန် အလေးတုံးများကို အလယ်ဗဟို ချက်ချင်း ရွှေ့ညှိခြင်း။
သစ်ပင်ပုံစံ ကွန်ရက် (Tree)

ရှေ့ဆက်စာလုံး သစ်ပင် (Trie)

Trie (Prefix Tree) Insert & Search

အလယ်အလတ် (Medium)
Time:O(L)
Space:O(N × L)

စကားလုံးများကို စာလုံးတစ်လုံးချင်း Node အလိုက် ထည့်သွင်း၍ Prefix ဖြင့် စက္ကန့်မလပ် ရှာဖွေနိုင်သော သစ်ပင်။

ဖုန်းကီးပက်တွင် "a", "p", "p" ရိုက်ထည့်လိုက်သည်နှင့် "apple" ကို ချက်ချင်း အကြံပြု ပြသပေးခြင်း။
သစ်ပင်ပုံစံ ကွန်ရက် (Tree)

အပိုင်းအခြား ပေါင်းလဒ် သစ်ပင် (Segment Tree)

Segment Tree Range Sum Query & Update

ခက်ခဲ (Hard)
Time:O(log n)
Space:O(4n)

Array ဒြပ်စင်များကို ပြင်ဆင်ခြင်းနှင့် Range [L, R] ပေါင်းလဒ် မေးခွန်း နှစ်ခုလုံးကို O(log n) ဖြင့် အဖြေပေးနည်း။

ကုမ္ပဏီ၏ နှစ်စဉ် အရောင်းစာရင်းကို လအလိုက်၊ သုံးလပတ်အလိုက်၊ နှစ်ပတ်လည်အလိုက် သစ်ပင်ပုံ ချက်ချင်း ထုတ်ကြည့်ခြင်း။
သစ်ပင်ပုံစံ ကွန်ရက် (Tree)

ဖင်ဝစ်ခ် သစ်ပင် (Binary Indexed Tree)

Fenwick Tree (Binary Indexed Tree - BIT)

ခက်ခဲ (Hard)
Time:O(log n)
Space:O(n)

Segment Tree ထက် Memory သက်သာပြီး Bitwise Operation `i & (-i)` ဖြင့် Prefix Sum ကို O(log n) ဖြင့် တွက်နည်း။

ဒသမကိန်းနေရာများကို ဘစ် (Bit) နှစ်ဆတိုး ပေါင်းကိန်းများဖြင့် အမြန်ဆုံး တွက်ချက်ခြင်း။
သစ်ပင်ပုံစံ ကွန်ရက် (Tree)

အငယ်ဆုံးတန်ဖိုး ဦးစားပေးတန်းစီ (Min-Heap Priority Queue)

Min-Heap Priority Queue Implementation

အလယ်အလတ် (Medium)
Time:O(log n)
Space:O(n)

အငယ်ဆုံး (သို့မဟုတ် အကြီးဆုံး) ဒြပ်စင်ကို အမြဲတမ်း Root တွင် O(1) ဖြင့် ထားရှိပြီး O(log n) ဖြင့် ထည့်/ထုတ်နိုင်သော Complete Binary Tree။

ဆေးရုံ အရေးပေါ်ဌာနတွင် လူနာရောက်လာသည့် အချိန်မရွေး အရေးကြီးဆုံး လူနာကို ရှေ့ဆုံး တန်းစီစေခြင်း။
သစ်ပင်ပုံစံ ကွန်ရက် (Tree)

အုပ်စုပေါင်းစည်းမှုနှင့် ခေါင်းဆောင်ရှာနည်း (Union-Find DSU)

Disjoint Set Union (DSU / Union-Find)

အလယ်အလတ် (Medium)
Time:O(α(n))
Space:O(n)

Path Compression နှင့် Union by Rank သုံး၍ ဒြပ်စင်နှစ်ခု အုပ်စုတစ်ခုတည်း ဟုတ်မဟုတ် O(α(n)) နီးပါး O(1) ဖြင့် စစ်ဆေးနည်း။

လူအုပ်စု အသင်းအဖွဲ့ နှစ်ခုကို ခေါင်းဆောင်ချင်း မိတ်ဆက်ပေး၍ အသင်းတစ်ခုတည်းအဖြစ် ပေါင်းစည်းခြင်း။
သစ်ပင်ပုံစံ ကွန်ရက် (Tree)

သစ်ပင်၏ အရှည်ဆုံး အချင်း (Tree Diameter)

Diameter of Binary Tree

လွယ်ကူ (Easy)
Time:O(n)
Space:O(h)

Binary Tree တစ်ခုရှိ မည်သည့် Node နှစ်ခုအကြားမဆို အရှည်ဆုံး လမ်းကြောင်း (Edges အရေအတွက်) ကို တွက်နည်း။

သစ်ပင်ကြီး၏ အစွန်ဆုံး သစ်ကိုင်းဖျား တစ်ခုမှ အခြား သစ်ကိုင်းဖျား တစ်ခုဆီသို့ အဝေးဆုံး အကွာအဝေး တိုင်းတာခြင်း။
ခက်ခဲ (Hard)
Time:O(n)
Space:O(n)

Binary Tree တစ်ခုလုံးကို String စာသားအဖြစ် ပြောင်းလဲသိမ်းဆည်းပြီး မူလသစ်ပင်အဖြစ် တိကျစွာ ပြန်လည်တည်ဆောက်နည်း။

ပရိဘောဂကို ဖြုတ်၍ ကတ်ထူပုံးထဲ ထည့်သိမ်းပြီး လမ်းညွှန်အတိုင်း ပြန်လည် တပ်ဆင်ခြင်း။
သစ်ပင်ပုံစံ ကွန်ရက် (Tree)

အသုံးအနည်းဆုံး ဦးစွာဖယ်ရှားသည့် Cache (LRU Cache)

LRU (Least Recently Used) Cache Implementation

အလယ်အလတ် (Medium)
Time:O(1)
Space:O(capacity)

Doubly Linked List နှင့် Hash Map တွဲသုံး၍ get နှင့် put နှစ်ခုလုံးကို O(1) ဖြင့် အလုပ်လုပ်သော Cache စနစ်။

စားပွဲပေါ်ရှိ စာရွက်များအနက် လက်တလော ဖတ်သော စာရွက်ကို အပေါ်ဆုံးတင်ပြီး နေရာမဆန့်လျှင် အောက်ဆုံးစာရွက် လွှင့်ပစ်ခြင်း။
သစ်ပင်ပုံစံ ကွန်ရက် (Tree)

အလိုအလျောက် အပေါ်ဆုံးရောက် သစ်ပင် (Splay Tree)

Splay Tree Self-Adjusting BST

ခက်ခဲ (Hard)
Time:O(log n)
Space:O(n)

မကြာခဏ ရှာဖွေသော ဒြပ်စင်ကို Splaying (Rotations) ဖြင့် Root သို့ အလိုအလျောက် ဆွဲတင်ပေးသော BST။

ဖိုင်တွဲထဲမှ မကြာခဏ ထုတ်ကြည့်သော စာရွက်ကို အမြဲတမ်း စာတွဲ အပေါ်ဆုံးတွင် ထားရှိခြင်း။
စာသားနှင့် စာကြောင်း (String)

ရေဘင်-ကာ့ပ် ဟက်ရှ်တန်ဖိုးဖြင့် စာသားရှာဖွေနည်း

Rabin-Karp Rolling Hash String Matching

အလယ်အလတ် (Medium)
Time:O(N + M)
Space:O(1)

Rolling Hash ဖြင့် စာသားအပိုင်း၏ Hash တန်ဖိုးကို O(1) ဖြင့် အမြန်တွက်၍ တိုက်ဆိုင်ရှာဖွေနည်း။

လက်ဗွေရာ (Hash) ကို အရင်စစ်ပြီး လက်ဗွေတူမှသာ လူချင်း သေချာတိုက်စစ်ခြင်း။
စာသားနှင့် စာကြောင်း (String)

ဘွိုင်ယာ-မိုး စာသား ခုန်ကျော်ရှာဖွေနည်း

Boyer-Moore String Search Algorithm

ခက်ခဲ (Hard)
Time:O(N)
Space:O(256)

Pattern ၏ ညာဘက်ဆုံးမှ ဘယ်သို့ နောက်ပြန် စစ်ဆေးပြီး Bad Character Table ဖြင့် စာလုံးများစွာ ခုန်ကျော်ရှာနည်း။

စာကြောင်း၏ နောက်ဆုံးစာလုံး မကိုက်ညီသည်နှင့် မလိုအပ်သော စာလုံးအုပ်စုလိုက်ကို ချက်ချင်း ကျော်ပစ်ခြင်း။
စာသားနှင့် စာကြောင်း (String)

Z အယ်လဂိုရစ်သမ် (O(N) စာသားရှာဖွေနည်း)

Z Algorithm (Linear Time Pattern Matching)

ခက်ခဲ (Hard)
Time:O(N + M)
Space:O(N + M)

`Pattern + $ + Text` ပေါင်းစပ်ပြီး Z-box (Z array) ဖြင့် Prefix တူညီမှုကို O(N) ဖြင့် တွက်နည်း။

မှန်ပြောင်းဖြင့် စာသားထိပ်ဆုံးနှင့် နောက်ပိုင်းကို တစ်ပြိုင်နက် ထပ်တူချကြည့်ခြင်း။
စာသားနှင့် စာကြောင်း (String)

မန်နချာ-၏ O(N) အရှည်ဆုံး Palindrome ရှာနည်း

Manacher's Algorithm (Linear Longest Palindrome)

ခက်ခဲ (Hard)
Time:O(N)
Space:O(N)

စာသားကြားတွင် "#" ထည့်၍ စ-မ မရွေး Palindrome အရှည်ဆုံးကို O(N) linear time ဖြင့် ရှာနည်း။

မှန်ကြည့်သကဲ့သို့ ဘယ်နှင့်ညာ ထပ်တူကျမှုကို ဗဟိုချက်မှ တစ်ပြိုင်နက် တွက်ချက်ခြင်း။
စာသားနှင့် စာကြောင်း (String)

နောက်ဆက်စာသား အက္ခရာစဉ် ဇယား (Suffix Array)

Suffix Array & LCP Construction

ခက်ခဲ (Hard)
Time:O(N log N)
Space:O(N)

စာကြောင်းတစ်ခု၏ Suffix အားလုံးကို အက္ခရာစဉ် (Lexicographical order) စီ၍ ရှာဖွေမှု လျင်မြန်စေသော ဇယား။

အဘိဓာန်တွင် စကားလုံးတို့၏ နောက်ဆက်တွဲအားလုံးကို အက္ခရာစဉ်အတိုင်း မှတ်တမ်းတင်ခြင်း။
စာသားနှင့် စာကြောင်း (String)

အာဟို-ကိုရာဆစ် စာလုံးများစွာ တစ်ပြိုင်နက် ရှာဖွေနည်း

Aho-Corasick Multi-Pattern String Matching

ခက်ခဲ (Hard)
Time:O(N + M + Z)
Space:O(M × K)

Trie သစ်ပင်နှင့် Failure Links ပေါင်းစပ်၍ Pattern စကားလုံးပေါင်း ထောင်ချီကို Text တစ်ခေါက်တည်း ဖြတ်ရှာနည်း။

လုံခြုံရေး စစ်ဆေးရေးဂိတ်တွင် အလိုရှိသူ တရားခံ ထောင်ပေါင်းများစွာ၏ မျက်နှာကို လူအုပ်ထဲ တစ်ပြိုင်နက် ရှာခြင်း။
စာသားနှင့် စာကြောင်း (String)

ဆက်တိုက်ပါ စာလုံးရေတွက် ချုံ့နည်း (RLE)

Run-Length Encoding (RLE) Compression

လွယ်ကူ (Easy)
Time:O(N)
Space:O(N)

ဆက်တိုက် တူညီသော စာလုံးများကို စာလုံးနှင့် အရေအတွက်တွဲ "A4B3C2" အဖြစ် အလွယ်ကူဆုံး ချုံ့နည်း။

ကတ်ထူပုံး ၁၀ ပုံးကို တစ်ခုချင်း မရေတွက်ဘဲ "ပုံး ၁၀ ပုံး" ဟု တံဆိပ်ကပ် ရေးသားခြင်း။
စာသားနှင့် စာကြောင်း (String)

စာကြောင်းများ၏ ရှေ့ဆုံးတူညီသော စာလုံးတွဲ (LCP)

Longest Common Prefix (LCP)

လွယ်ကူ (Easy)
Time:O(S)
Space:O(1)

စကားလုံး စာရင်းတစ်ခုလုံးတွင် အားလုံးတူညီစွာ စတင်သော အရှည်ဆုံး ရှေ့ဆက် Prefix ကို ရှာနည်း။

ညီအစ်ကို မောင်နှမများ၏ အမည်စာရင်းတွင် ဘုံတူညီသော မျိုးရိုးအမည် ရှေ့ဆက်ကို ရှာခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

ဘုရင်မ N ပါး စစ်တုရင်ပုစ္ဆာ (Backtracking)

N-Queens Problem (Backtracking)

ခက်ခဲ (Hard)
Time:O(N!)
Space:O(N)

N×N စစ်တုရင်ခုံပေါ်တွင် ဘုရင်မ N ပါး တစ်ပါးနှင့်တစ်ပါး အပြန်အလှန် မစားမိစေရန် နေရာချထားသည့် နည်းလမ်းပေါင်းစုံကို ရှာနည်း။

အစည်းအဝေးပွဲတွင် စကားများတတ်သူများကို ထိုင်ခုံတန်း တစ်တန်းတည်း သို့မဟုတ် မျက်နှာချင်းဆိုင် မကျစေဘဲ နေရာချခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

ဆူဒိုကူ ကိန်းဂဏန်းပဟေဠိ ဖြေရှင်းနည်း (Backtracking)

Sudoku Puzzle Solver (Backtracking)

ခက်ခဲ (Hard)
Time:O(9^M)
Space:O(81)

9×9 ဇယားကွက်လပ်များတွင် 1 မှ 9 အထိ ကိန်းများကို စည်းကမ်းချက်နှင့်အညီ စမ်းသပ်ထည့်သွင်း ဖြေရှင်းနည်း။

စကားဝှက်သော့ကို ဖြစ်နိုင်ခြေ နံပါတ်များ စနစ်တကျ တစ်ခုချင်း စမ်းသပ် ဖွင့်လှစ်ခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

ယူကလစ်၏ အကြီးဆုံးဘုံဆားခွဲကိန်း ရှာနည်း (GCD/LCM)

Euclidean Algorithm for GCD & LCM

လွယ်ကူ (Easy)
Time:O(log(min(a, b)))
Space:O(1)

ကိန်းကြီးကို ကိန်းငယ်ဖြင့် အကြွင်းယူ နုတ်ယူခြင်းကို O(log(min(a, b))) ဖြင့် တွက်ချက်သော ရှေးအကျဆုံး အယ်လဂိုရစ်သမ်။

စတုဂံ အခန်းကြီးတစ်ခုကို အရှည်ချန် ကြွေပြား လေးထောင့်များဖြင့် အပြည့် ကပ်နိုင်မည့် အကြီးဆုံး ကြွေပြားဆိုဒ် ရှာခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

အီရာတိုစသီးနီးစ်၏ သုဒ္ဓကိန်း စစ်ထုတ်နည်း

Sieve of Eratosthenes (Prime Numbers)

အလယ်အလတ် (Medium)
Time:O(n log log n)
Space:O(n)

ကိန်း N အထိ သုဒ္ဓကိန်း (Primes) အားလုံးကို ဆားပေါင်းကိန်းများ ကျော်ဖျက်ခြင်းဖြင့် O(n log log n) ဖြင့် ရှာနည်း။

ဆန်ခါချိပ်ကွက်ဖြင့် သဲနှင့် ကျောက်စရစ်ခဲများအနက် ကျောက်စရစ်အစစ်များကို စစ်ထုတ် ယူဆောင်ခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

နှစ်ဆတိုး ထပ်ကိန်း မြန်ဆန်စွာ တွက်ချက်နည်း

Fast Modular Exponentiation (Binary Powering)

အလယ်အလတ် (Medium)
Time:O(log exp)
Space:O(1)

`(base^exp) % mod` ကို တိုက်ရိုက်မမြှောက်ဘဲ O(log exp) ဖြင့် တွက်ချက်နည်း။

နှစ်ဆတိုး ခေါက်ချိုးနည်းဖြင့် စာရွက်တစ်ရွက်ကို အကြိမ်ရေအနည်းငယ် ခေါက်ရုံဖြင့် အလွှာများစွာ ရစေခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

ဂျိုးဇက်ဖတ်စ် စက်ဝိုင်းပုံ ကျန်ရစ်သူ တွက်နည်း

Josephus Survivor Problem

အလယ်အလတ် (Medium)
Time:O(N)
Space:O(1)

လူ N ဦး စက်ဝိုင်းပုံ ထိုင်နေစဉ် k-မြောက်လူကို အစဉ်လိုက် ဖယ်ရှားပါက နောက်ဆုံး ကျန်ရစ်မည့်သူကို O(N) ဖြင့် ရှာနည်း။

ကစားဝိုင်းတွင် သီချင်းဆုံးတိုင်း တစ်ယောက် ထွက်ရသည့် ကစားနည်း၌ နောက်ဆုံး အနိုင်ရမည့် နေရာကို ကြိုတွက်ခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

ဝင်္ကပါအတွင်းမှ ကြွက် လမ်းကြောင်းရှာနည်း (Backtracking)

Rat in a Maze Pathfinder (Backtracking)

အလယ်အလတ် (Medium)
Time:O(4^(N²))
Space:O(N²)

N×N ဝင်္ကပါအတွင်း အတားအဆီးများ ရှောင်ကွင်း၍ (0,0) မှ (N-1,N-1) သို့ လမ်းကြောင်းများ ရှာနည်း။

ဝင်္ကပါလမ်းတွင် လမ်းသွယ်တိုင်း စမ်းလျှောက်ပြီး မပေါက်ပါက မူလလမ်းဆုံသို့ ပြန်ဆုတ် လျှောက်ခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

ဇယားကွက်အတွင်း စာလုံးရှာနည်း (Word Search)

Word Search in 2D Grid (Backtracking)

အလယ်အလတ် (Medium)
Time:O(R × C × 4^L)
Space:O(L)

2D Character ဇယားပေါ်တွင် လိုချင်သော စကားလုံးကို ကပ်လျက် (အပေါ်/အောက်/ဘယ်/ညာ) ဆက်တိုက် ရှိ/မရှိ ရှာနည်း။

သတင်းစာ စာလုံးရှာကစားနည်း (Word Search puzzle) တွင် ခဲတံဖြင့် လမ်းကြောင်း ဆက်ကြည့်ခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

ဘစ် (Bit) ဖြင့် Subsets အားလုံး ထုတ်ယူနည်း

Power Set Generation via Bit Manipulation

အလယ်အလတ် (Medium)
Time:O(N × 2^N)
Space:O(N × 2^N)

`0` မှ `2^N - 1` အထိ Binary Bits (0/1) ကို သုံး၍ Array ၏ Subsets အားလုံးကို O(N × 2^N) ဖြင့် လျင်မြန်စွာ ထုတ်နည်း။

မီးခလုတ် ၃ ခုကို ဖွင့်/ပိတ် တွဲဖက်မှု အားလုံး စမ်းသပ်ခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

ဘရိုင်ယန်-ကာနီဂန် 1-ဘစ် အရေအတွက် ရေတွက်နည်း

Brian Kernighan's Bit Counting Algorithm

လွယ်ကူ (Easy)
Time:O(k)
Space:O(1)

`n & (n - 1)` လုပ်ဆောင်ချက်ကို သုံး၍ Binary အတွင်းရှိ 1-bit အရေအတွက် (Hamming Weight) ကို အမြန် ရေတွက်နည်း။

လင်ဗန်းထဲရှိ မီးထွန်းထားသော ဖယောင်းတိုင်များကို တစ်တိုင်ချင်း ငြှိမ်းသတ် ရေတွက်ခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

ကက်တလန် ကိန်းစဉ် တွက်ချက်နည်း (Catalan Number)

Catalan Numbers Computation

အလယ်အလတ် (Medium)
Time:O(n²)
Space:O(n)

BST ပုံစံပေါင်း အရေအတွက်၊ ကွင်းစကွင်းပိတ် မှန်ကန်မှု (Parentheses combinations) တို့ကို တွက်ပေးသော ကိန်းစဉ်။

ကွင်းစကွင်းပိတ် အတွဲအစပ် အားလုံး မှန်ကန်အောင် ခတ်နိုင်သော နည်းလမ်းပေါင်း တွက်ခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

ဖာမက်-၏ သုဒ္ဓကိန်း ဖြစ်နိုင်ခြေ စစ်ဆေးနည်း

Fermat's Primality Test (Probabilistic Prime Check)

အလယ်အလတ် (Medium)
Time:O(k log n)
Space:O(1)

`a^(n-1) % n === 1` ဖြစ်လျှင် ကိန်းကြီး n သည် သုဒ္ဓကိန်း (Prime) ဖြစ်နိုင်ခြေများကြောင်း O(k log n) ဖြင့် စစ်ဆေးနည်း။

သံသယရှိသော ငွေစက္ကူကို နေရာ ၅ နေရာခန့် ကျပန်း ရွေး၍ လုံခြုံရေး ကြိုးပါမပါ စစ်ဆေးခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

မက်ထရစ် ထပ်ကိန်းဖြင့် ဖီဘိုနာချီ O(log n) တွက်နည်း

N-th Fibonacci via Matrix Exponentiation

ခက်ခဲ (Hard)
Time:O(log n)
Space:O(1)

ကိန်းစဉ် N အလွန်ကြီးမား (ဥပမာ 10^18) ပါက 2×2 မက်ထရစ် ထပ်ကိန်းဖြင့် O(log n) ဖြင့် တွက်နည်း။

နှစ်ရှည် အတိုးနှုန်းကို တစ်နှစ်ချင်း မပေါင်းဘဲ ပုံသေနည်းဖြင့် နှစ် ၄၀ စာ ချက်ချင်း တွက်ခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

ဖလွိုက်-၏ လိပ်နှင့်ယုန် သံသရာစက်ဝိုင်း ရှာနည်း

Floyd's Cycle Detection (Tortoise and Hare)

လွယ်ကူ (Easy)
Time:O(N)
Space:O(1)

အမြန်ရွေ့ pointer (ယုန်) နှင့် အနှေးရွေ့ pointer (လိပ်) ဖြင့် Linked List သို့မဟုတ် Array အတွင်း သံသရာလည်မှု (Loop) ကို O(1) space ဖြင့် ရှာနည်း။

ပြေးလမ်းစက်ဝိုင်းပေါ်တွင် အမြန်ပြေးသူနှင့် အနှေးပြေးသူတို့ နောက်ဆုံးတွင် ပတ်မိဆုံတွေ့ခြင်း။
သင်္ချာ၊ ဘစ်နှင့် Backtracking (Math/Misc)

ဖစ်ရှာ-ယိတ်စ် မျှတသော ကျပန်းမွှေနှောက်နည်း

Fisher-Yates (Knuth) Array Shuffling

လွယ်ကူ (Easy)
Time:O(N)
Space:O(1)

Array တစ်ခုရှိ ဒြပ်စင်များကို ဖြစ်နိုင်ခြေ တူညီစွာ (Unbiased uniform random) O(N) တစ်ခေါက်တည်းဖြင့် ကျပန်းမွှေနှောက်နည်း။

ဖဲထုပ်ထဲမှ ကတ်တစ်ချပ်စီ ကျပန်းဆွဲထုတ်ပြီး ဖဲထုပ်အသစ် ပြန်စီခြင်း။
Featured AI Studio

စိတ်ကူးထဲက Project တွေကို လမ်းကြောင်းမျိုးစုံနဲ့ လက်တွေ့ပုံဖော်ပေးမယ့် AI-Powered Personal Planning Studio 🎯

taraspace.space — သင့်ရဲ့ Idea နှင့် Project များကို AI နည်းပညာဖြင့် လွယ်ကူစွာ စီမံပုံဖော်လိုက်ပါ။

Explore taraspace.space