Увод у Куицк Сорт ин ЈаваСцрипт
Алгоритам сортирања један је од важних дијелова структуре података. Разврставање је начин аранжирања групе предмета на одређени начин. Кад год разговарамо о бржим алгоритмима за сортирање, брзо сортирање ступа на снагу. Ово је једна од најпопуларнијих техника сортирања у односу на време извршења. Ово је упоредиво бољи избор било ког програмера или кодера због његових перформанси. Брза сорта делује на принципу поделе и освајања. То значи да листу дели на две, а затим на две листе које су даље подељене на 4 рекурзивно и тако даље. У овом чланку ћемо видети како брзо сортирање функционише и са примером кода. Такође, видећемо како је бржи у поређењу са другим разним алгоритмима за сортирање. Видећемо разне компоненте овог алгоритма за брзо сортирање.
Операције у брзом сортирању
Постоје три главне операције у ЈаваСцрипт-у за брзо сортирање:
- Партиционирање листе: Подела или листа низова помоћу поделе и освајања. Ово је први корак који можемо рећи у овој техници сортирања. За то нам треба стожерни елемент (средњи елемент или близу средњег елемента).
- Замјена ставки: Ово је главна сврха било ког алгоритма за сортирање да дође на листу жеља као резултата. Ово је механизам за сортирање замене вредности са једне на другу. На пример, А = 10; Б = 20; Ако неко затражи замену, вредност А ће бити 20, а Б 10.
- Рекурзивна операција: Ово игра велику улогу у брзом разврставању. Како радити ствари изнова и изнова, није толико могуће и поуздано без рекурзивне функције. Ово је нешто што сама функција позива (иста функција) да би довршио посао. Ово игра велику улогу где сваки и други задатак изводимо изнова и изнова са истим приступом и у истом контексту.
Поређење алгоритма за сортирање
Постоји више врста алгоритма за сортирање. Пошто је ЈаваСцрипт програмски језик, он подржава све алгоритме сортирања са њим. Сваки алгоритам сортирања има своје предности и недостатке. Ево листе алгоритама за сортирање и његових перформанси и других матрица:
Алгоритам сортирања | Временска сложеност | ||
Најбољи случај | Просечан случај | Најгори случај | |
Буббле Сорт | Ω (Н) | Θ (Н 2 ) | О (Н 2 ) |
Избор сортирања | Ω (Н 2 ) | Θ (Н 2 ) | О (Н 2 ) |
Инсертион Сорт | Ω (Н) | Θ (Н 2 ) | О (Н 2 ) |
Сортирање спајањем | Ω (Н лог Н) | Θ (Н лог Н) | О (Н лог Н) |
Хеап Сорт | Ω (Н лог Н) | Θ (Н лог Н) | О (Н лог Н) |
Куицк Сорт | Ω (Н лог Н) | Θ (Н лог Н) | О (Н 2 ) |
Као што видимо на листи, КУИЦК сорта је бржа од упоређивања Буббле Сорт, Сорт Селецтион, Сорт Инсертион.
Како брзо сортирање делује у ЈаваСцрипт-у?
Корак 1 : Добијање елемента Пивот - У било којој Дивиде анд Цонкуер избор праве Пивот има виталну улогу. Зато обично покушавамо да добијемо средњи елемент матрице као Пивот елемент. Ово је елемент одакле ми дијелимо један низ у миру два за обраду сортирања.
Корак 2 : Покрените леве показиваче као први елемент улазне матрице.
Корак 3 : Покрените десне показиваче као последњи елемент улазног низа.
Корак 4 : Сада упоређујемо елементе на левом показивачу са одабраним елементом окрета и мењамо вредност ако је потребно у складу са пословним захтевима. Затим упоређујемо прави показивач са елементом Пивот.
Корак 5: Пређите оба на следећи. Сви горе наведени кораци следе се изнова и изнова користећи рекурзивни приступ.
Пример брзог сортирања у ЈаваСцрипт-у
Ово је функција која води рачуна о брзом сортирању у ЈаваСцрипт-у. У овом случају, проследићемо комплетну листу низа као улаза и добићемо сортирану матрицу као излаз.
Quick Sort in JavaScript
function quick_Sorting(array) (
if (array.length <= 1) (
return array; // if there is only one element then return the same
) else
(
var left = ();
var right = ();
var outputArray = ();
var pivot = array.pop();
var length = array.length;
for (var i = 0; i < length; i++) (
if (array(i) <= pivot) (
left.push(array(i));
) else (
right.push(array(i));
)
)
return outputArray.concat(quick_Sorting(left), pivot, quick_Sorting(right));
)
)
var myList = (3, 10, 2, 5, -5, 4, 7, 1);
alert("Input Array List: " + myList);
var sortedList = quick_Sorting(myList);
alert("Output Array List: " + sortedList);
Због својих запањујућих перформанси, већина кодова користи ову технику сортирања за имплементацију функционалности сортирања уградње. У разним програмским језицима, брзо сортирање је коришћено за своју функционалност сортирања уградње. Постоје разни други начини за писање програма за обављање операција брзог сортирања, а све се функције испуњавају до тачке која је Дивиде анд Цонкуер. Дакле, ова подјела и освајање је основно правило за обраду помоћу Куицк Сорт-а у ЈаваСцрипт-у. Не само у ЈаваСцрипт-у, већ и на свим програмским језицима.
Излаз:
Препоручени чланци
Ово је водич за Куицк Сорт ин ЈаваСцрипт. Овде смо расправљали о томе како брзо сортирање делује у ЈаваСцрипту, његовом раду и поређењу алгоритма за сортирање заједно са примером. Такође можете погледати следеће чланке да бисте сазнали више -
- Примери за имплементацију брзог сортирања у Јави
- Шта је Изјава о случају у ЈаваСцрипт-у?
- Својства спајања Сортирај у ЈаваСцрипт-у
- Врсте конструктора у ЈаваСцрипт-у
- Хеап Сорт ин Питхон
- Замјена у ПХП-у
- Разврставање уметања у ЈаваСцрипт
- Рекурзивна функција у Ц
- Рекурзивна функција у ЈаваСцрипт-у