logo

Algoritmi za razvrščanje

Razvrščanje je postopek razvrščanja elementov matrike, tako da jih je mogoče postaviti v naraščajočem ali padajočem vrstnem redu. Na primer, razmislite o matriki A = {A1, A2, A3, A4, ?? An } se matrika prikliče v naraščajočem vrstnem redu, če so elementi A urejeni kot A1 > A2 > A3 > A4 > A5 > ? > An .

Razmislite o nizu;

int A[10] = { 5, 4, 10, 2, 30, 45, 34, 14, 18, 9 )

Matrika, razvrščena v naraščajočem vrstnem redu, bo podana kot;

A[] = { 2, 4, 5, 9, 10, 14, 18, 30, 34, 45 }

Obstaja veliko tehnik, s pomočjo katerih je mogoče izvesti razvrščanje. V tem delu vadnice bomo podrobno obravnavali vsako metodo.

Algoritmi za razvrščanje

Algoritmi za razvrščanje so skupaj z opisom opisani v naslednji tabeli.

SN Algoritmi za razvrščanje Opis
1 Bubble Sort Je najpreprostejša metoda razvrščanja, ki izvaja razvrščanje tako, da večkrat premakne največji element na najvišji indeks matrike. Vključuje primerjavo vsakega elementa z njegovim sosednjim elementom in njihovo ustrezno zamenjavo.
2 Razvrščanje vedra Razvrščanje z vedri je znano tudi kot razvrščanje v koših. Deluje tako, da razdeli element v matriko, imenovano tudi vedra. V teh algoritmih za razvrščanje so vedra razvrščena posamezno z uporabo različnih algoritmov za razvrščanje.
3 Glavnik Razvrsti Comb Sort je napredna oblika Bubble Sort. Razvrščanje z mehurčki primerja vse sosednje vrednosti, medtem ko razvrščanje z glavnikom odstrani vse vrednosti želve ali majhne vrednosti blizu konca seznama.
4 Štetje Razvrsti To je tehnika razvrščanja, ki temelji na ključih, tj. predmeti se zbirajo glede na ključe, ki so majhna cela števila. Razvrščanje s štetjem izračuna število pojavitev predmetov in shrani njihove ključne vrednosti. Nova matrika se oblikuje z dodajanjem prejšnjih ključnih elementov in dodeljevanjem objektom.
5 Razvrščanje kopice Pri razvrščanju kopice se najmanjša kopica ali največja kopica vzdržuje iz elementov matrike, odvisno od izbire, elementi pa so razvrščeni tako, da se izbriše korenski element kopice.
6 Razvrščanje vstavljanja Kot že ime pove, razvrščanje z vstavljanjem vstavi vsak element matrike na svoje pravo mesto. To je zelo preprosta metoda razvrščanja, ki se uporablja za urejanje kompleta kart med igranjem bridža.
7 Spoji Razvrsti Razvrščanje z združevanjem sledi pristopu deli in vladaj, pri katerem je seznam najprej razdeljen na nize enakih elementov, nato pa je vsaka polovica seznama razvrščena z uporabo razvrščanja z združevanjem. Razvrščeni seznam se ponovno združi v osnovno razvrščeno matriko.
8 Hitro razvrščanje Hitro razvrščanje je najbolj optimiziran algoritem za razvrščanje, ki izvaja razvrščanje v O(n log n) primerjavah. Tako kot razvrščanje z združitvijo tudi hitro razvrščanje deluje z uporabo pristopa deli in vladaj.
9 Razvrsti Radix Pri razvrščanju Radix se razvrščanje izvaja tako, da razvrščamo imena po njihovem abecednem vrstnem redu. To je algoritem lenearnega razvrščanja, ki se uporablja za Inegers.
10 Izbor Razvrsti Izbirno razvrščanje poišče najmanjši element v matriki in ga postavi na prvo mesto na seznamu, nato najde drugi najmanjši element v matriki in ga postavi na drugo mesto. Ta postopek se nadaljuje, dokler niso vsi elementi premaknjeni v pravilen vrstni red. Nosi čas delovanja O(n2), ki je najslabši od sortiranja z vstavljanjem.
enajst Shell Sort Lupinsko razvrščanje je posplošitev razvrščanja z vstavljanjem, ki premaguje pomanjkljivosti razvrščanja z vstavljanjem s primerjavo elementov, ločenih z vrzeljo več položajev.