Skip to content

የመደርደር አልጎሪዝም/Sorting algorithms

የመደርደር አልጎሪዝም በarray ላይ ባለው የንፅፅር ኦፕሬተር መሠረት የተሰጠውን ድርድር ወይም የarray ዝርዝር ለማስተካከል ይጠቅማሉ። የንፅፅር ኦፕሬተር(comparison operator) በመረጃ አወቃቀሩ ውስጥ ያለውን አዲሱን የelements ቅደም ተከተል ለመወሰን ይጠቅማል።

አንዳንድ በጣም ታዋቂ የመደርደር ስልተ ቀመሮች እነኚሁና።

selection/ምርጫ ደርድር፡- ይህ አልጎሪዝም ዝቅተኛውን ክፍል ካልተደረደረው ክፍል ደጋግሞ በማግኘት እና መጀመሪያ ላይ በማስቀመጥ ድርድርን ይመድባል። የO(n^2) የጊዜ ውስብስብነት/time complexity አለው።

Bubble sort- ይህ አልጎሪዝም በተሳሳቱ ቅደም ተከተሎች ውስጥ ከሆኑ ተጓዳኝ አባሎችን ደጋግሞ ይቀያይራል። የO(n^2) የጊዜ ውስብስብነት አለው።

የማስገባት ደርድር፡- ይህ አልጎሪዝም የመጨረሻውን የተደረደሩትን አንድ ንጥል በአንድ ጊዜ ይገነባል። የO(n^2) የጊዜ ውስብስብነት አለው።

Merge sort/ውህደት ደርድር፡- ይህ አልጎሪዝም የግቤት ድርድርን በሁለት ሃላፍ ይከፍላል፣ እራሱን ለሁለት ግማሾችን ይጠራል እና ሁለቱን የተደረደሩትን ግማሾችን ያዋህዳል። የ O(n log n) የጊዜ ውስብስብነት አለው።

quick/ፈጣን ደርድር፡- ይህ አልጎሪዝም አንድን አካል እንደ ምሶሶ ይመርጣል እና የተሰጠውን ድርድር በተመረጠው ምሰሶ ዙሪያ ይከፍላል። የ O(n log n) የጊዜ ውስብስብነት አለው።

Heap sort- ይህ አልጎሪዝም በሁለትዮሽ ሂፕ ዳታ መዋቅር ላይ የተመሰረተ ነው። የ O(n log n) የጊዜ ውስብስብነት አለው።

Counting sort- ይህ አልጎሪዝም የሚሠራው የተለየ ቁልፍ እሴቶች ያላቸውን ነገሮች በመቁጠር ነው (የሃሽ ዓይነት)። k የግቤት ክልል የሆነበት O(n+k) የጊዜ ውስብስብነት አለው።

ራዲክስ ደርድር፡- ይህ አልጎሪዝም ተመሳሳይ ጉልህ ቦታ እና እሴት በሚጋሩ ግለሰባዊ አሃዞች ቁልፎችን በመቧደን መረጃን በኢንቲጀር ቁልፎች ይለያል። የ O(d*(n+k)) የጊዜ ውስብስብነት ያለው ሲሆን d በግቤት ኢንቲጀር ውስጥ ያሉት አሃዞች ብዛት ነው።