Поредање ставки на листи је свакодневан задатак и често захтева много времена. Појам сортирање се генерално односи на уређивање ставки на листи у растућем или силазном редослиједу на основу унапријед одређеног односа наруџбе. Сортирање је често намијењено претраживању, што је његова још једна основна активност у обради података. Замислите колико би било тешко претраживати реч по речнику да речи у њему нису биле организоване или сортиране. То је разлог зашто се уноси у речник чувају у стандардном абецедном реду. Бројни задаци и прорачуни постају једноставни само сортирањем. И ту долази до слике алгоритми за сортирање.
Алгоритам сортирања није ништа друго него метода за организовање елемената листе у одређени ред, као што су вредност од најмање до највише, највећа до најнижа вредност, растући поредак, опадајући редослед, абецедни ред итд. су нумерички и лексикографски поредак. Алгоритми често користе сортирање као кључну потпрограму. Постоји широк спектар алгоритама за сортирање који се користе током, а сваки користи широк скуп техника. Један од таквих популарних, али подједнако моћан алгоритам је и Дивиде анд Цонкуер алгоритам који је алгоритам заснован на мулти-разгранатој рекурзији. Брзо сортирање и спајање сортирања су два најчешће кориштена алгоритма заснована на алгоритму Дивиде анд Цонкуер.
Куицк Сорт је високо ефикасан, али ефикасан алгоритам сортирања заснован на приступу подели и освоји, који је прилично сличан динамичком приступу у коме је проблем подељен на два или више потпроблема, а затим се рекурсивно решава. Ако је величина под-проблема довољно мала, онда се они решавају једноставно и на једноставан начин, без икаквих проблема. Назван и сортирањем размењивања партиција, алгоритам брзог разврставања дели листу која ће бити сортирана на три главна дела: 1) елемент стожишта (централни елементи), 2) елементи мањи од стожера и 3) елементи већи од окретног. Сам заокрет се помера између две групе у крајњи положај и брзо се примењује рекурзивно.
Спајање сортирања је још један алгоритам сортирања опште намене намењен техници раздвајања и освајања. То је један од најпоштованијих и најпопуларнијих алгоритама за сортирање, дизајниран да се ефикасно користи за сортирање података који се похрањују споља у датотеку. Нуди понашање О (н лог н) у најгорем случају док користи О (н) додатну меморију. Колекцију „А“ дели на две мање збирке, од којих се свака сортира. У последњој фази ове две сортиране колекције обједињују се у јединствену колекцију величине н. Ово ће бити сортирана листа. Алгоритам је прилично брз и такође је стабилна врста, а идеално је префериран за повезане листе.
- И Куицк Сорт и Мерге Сорт су алгоритми за сортирање засновани на дељењу и освајању са истим основним принципом - поделити проблем на два или више потпроблема и затим их рекурсивно решавати. Међутим, разликују се у поступцима спајања и у погледу перформанси. Брзо сортирање је опћенито боље и брже од осталих алгоритама сортирања, укључујући Мерге Сорт када је у питању мали скуп података, док Мерге Сорт задржава досљедност без обзира на тип скупа података. Брзо сортирање је идеално преферирано за низове док је Мерге Сорт идеално за повезане листе.
- Сортирање у алгоритму брзог сортирања врши се рекурзивно, а сваки рекурзивни позив захтева место слагања. Не захтева додатни простор за спајање, осим једног меморијског простора за спајање. Пошто је то алгоритам сортирања на месту, није потребно додатни простор за обављање сортирања. У ствари, користи исти низ док дели и спаја матрицу. С друге стране, у Мерге Сорт, постоји неколико начина представљања података у датотеци или у пољу, па су јој потребна таква радна подручја као поддатотеке или низови исте величине који захтевају додатни простор.
- Најгоре понашање за брзо сортирање се дешава када је партиција неуравнотежена, што зависи од елемената који се користе за партиционирање, у којем случају алгоритам ради асимптотски једнако споро као што је врста уметања. Најгоре перформансе брзог сортирања су О (н2) и оставља се као вежба. Међутим, то се може избећи одабиром правог окрета. Најгори случај спајања сортирања, с друге стране, дешава се када мора да уради максималан број упоређивања. Узимајући у обзир линеарне перформансе за спајање, најгора могућност перформансе Мерге Сорт је О (н лог2 н).
- Иако су алгоритми за брзо сортирање и спајање сортирања засновани на приступу разврставања и освајања за разврставање, разликују се методама које се користе за обављање поступака раздвајања и спајања. За брзо сортирање, највећи део посла је поделити списак на две под-листе, што се дешава пре сортирања под-пописа. За Мерге Сорт, највећи део посла је обједињавање две под-листе која се дешава након што су под-листе сортиране. Спајање разврставања захтијева привремени низ за спајање два подрачуна, док за брзо сортирање није потребан додатни простор поља, што га чини ефикаснијим простором од Марге Сорт.
И алгоритми за брзо сортирање и спајање сортирају се на основу разврставања и освајања за сортирање. Међутим, оне се разликују по методама које се користе за извршавање поступака раздвајања и спајања. Они у основи раде на истом принципу - поделити проблем на два или више под-проблема, а затим их рекурсивно решавати. Спајање сортирања је ефикасније од брзог сортирања у најгорем случају, али две су подједнако ефикасне у просечном случају. Али брзо сортирање је економичније од простора спајања. Дакле, брзо сортирање је несумњиво брже и боље од сортирања, али постаје неефикасно у неколико ситуација, попут упоређивања..