This course presents methods for analyzing the efficiency of algorithms (including worst-case and average-case analysis) and introduces a variety of known, highly efficient algorithms. Analysis, design, and implementation of algorithms are given equal emphasis. Topics include searching and sorting, efficiency of operations on data structures (including lists, hashtables, balanced binary search trees, priority queues), graph algorithms, combinatorial algorithms, recurrence relations, Dynamic Programming, NP-complete problems, and some special topics as time allows. (Special topics include computational geometry, algorithms for cryptosystems, approximation, Big Data and parallel computing.)
ဒီသင်တန်း (အဆိုးဆုံး-ကိစ္စတွင်နှင့်ပျမ်းမျှအား-ကိစ္စတွင်ခွဲခြမ်းစိတ်ဖြာအပါအဝင်) algorithms ၏ထိရောက်မှုကိုခွဲခြားစိတ်ဖြာများအတွက်နည်းစနစ်များတင်ဆက်ခြင်းနှင့်လူသိများအလွန်ထိရောက် algorithms အမျိုးမျိုးကိုမိတ်ဆက်။ analysis, ဒီဇိုင်းနှင့် algorithms များအကောင်အထည်ဖော်မှုတန်းတူအလေးပေးပေးအပ်ထားတယ်။ ခေါင်းစဉ်များအချိန်အဖြစ်, ဂရပ် algorithms, combinatorial algorithms, ထပ်မဖြစ်အောင်ဆက်ဆံရေး, Dynamic Programming, NP-ပြည့်စုံပြဿနာများ, နှင့်အချို့သောအထူးအကြောင်းအရာများ (စာရင်းများ, HashTable များ, မျှမျှတတနဲ့ Binary ရှာဖွေရေးသစ်ပင်, ဦးစားပေးစီတန်းအပါအဝင်) ဒေတာအဆောက်အဦများအပေါ်စစ်ဆင်ရေး၏ရှာဖွေနေနှင့် sorting, ထိရောက်မှုများပါဝင်သည် ခွင့်ပြုပါတယ်။ (အထူးအကြောင်းအရာများကွန်ပျူတာဂျီသြမေတြီ, cryptosystems များအတွက် algorithms, အကြမ်းဖျင်း, Big Data များနှင့်အပြိုင်ကွန်ပျူတာတို့ပါဝင်သည်။ )