Sisu
Nimekirjade üksuste sortimine on sagedane programmeerimise ülesanne. Sageli saab inimene seda ülesannet intuitiivselt täita. Arvutiprogramm peab siiski täitma täpse juhiste jada, mida nimetatakse algoritmiks. Sorteerimisalgoritm on meetod, mida kasutatakse selleks, et asetada järjekorras ebakorrektsete üksuste loetelu. Tellimisjärjestus määratakse võtmega. On mitmeid sorteerimisalgoritme, mis erinevad tõhususe ja jõudluse poolest. Mõned sellist tüüpi ja olulised on: mullide sortimine, valik sortimine, sisestamise sorteerimine ja kiire sortimine.
Paljud elemendid saab tellida algoritmiga (Thinkstock / Comstock / Getty Images)
Bubble sort
Bubble sort vahetab korduvalt kõrval asuvaid elemente, mis ei ole korras, kuni iga üksuste nimekiri on järjestikune. Sel viisil kõikuvad kõik objektid nimekirjas vastavalt nende väärtustele, mis on suurim (kasvavas järjekorras), mis lõpeb iga iteratsiooni lõpus.
Selle algoritmi peamine eelis on see, et selle rakendamine on lihtne ja tuttav. Lisaks mullivormis vahetatakse elemente ilma ajutise ladustamiseta, mis muudab ruumi nõudmise minimaalseks. Peamine puudus on asjaolu, et see ei näita häid tulemusi, kui nimekirjas on palju punkte. Seda seetõttu, et selline tellimine nõuab n2 töötlemisetappe iga sorteeritud elemendi n jaoks. Seetõttu on akadeemiliseks õpetamiseks näidatud mullide sorteerimine, kuid mitte tegelike rakenduste puhul.
Valiku sorteerimine
Valiku sortimine läbib korduvalt elementide nimekirja, valides korraga ühe elemendi ja asetades selle järjestuse õigesse asendisse.
Valiku sorteerimise peamiseks eeliseks on see, et see toimib väikese loendi korral hästi. Lisaks, kuna tegemist on koha tellimise algoritmiga, ei vaja see ajutist salvestust, mis on vajalik algse nimekirja salvestamiseks. Peamine puudus on selle madal tõhusus suurtes nimekirjades. Sarnaselt mullide sortimisele nõuab see iga n elemendi jaoks n2 arvu samme. Lisaks mõjutab selle jõudlust esemete järjekord enne sõelumisprotsessi. Sellepärast sobib see tüübi valik ainult loetellu, kus mõned elemendid on juhuslikus järjekorras.
Sisestusviis
Lisa sortimine sorteerib loendi korduvalt ja iga kord lisab korrektse järjestuse elemendi õigesse asendisse.
Sisekujunduse peamiseks eeliseks on selle lihtsus, samuti väikeste nimekirjade hea jõudlus. See on koha tellimise algoritm, seega on ruumi nõue minimaalne. Negatiivne külg on see, et see ei täida nii ka teisi sorteerimise algoritme. Töötamiseks vajalike n2-sammude puhul ei toimi sisestamise sorteerimine suurte nimekirjadega hästi. Siiski on see eriti kasulik mõnede üksuste loetelude puhul.
Kiire sortimine
Kiire sorteerimine toimib jagamise ja vallutamise põhimõttega. Esiteks jagab see elementide nimekirja kaheks alam-loendiks, mis põhinevad pöördelemendil. Kõik esimeses alamnimekirjas olevad elemendid on paigutatud nii, et need on pivotist väiksemad, samal ajal kui kõik teise alamnimekirja elemendid on paigutatud pivotist suuremaks. Sama partitsiooni ja korraldamise protsess viiakse saadud alamloendites korduvalt läbi, kuni kogu nimekiri on korraldatud.
Kiire sorteerimine on mõnede arvates parimad sorteerimisalgoritmid, kuna see on tõhususe seisukohalt oluline, kuna see toimib hästi koos suure nimekirjaga. Kohapeal tellides ei ole vaja täiendavat ruumi. Vähe puuduseks on see, et selle halvim jõudlus on sarnane teiste eespool kirjeldatud algoritmide keskmisele jõudlusele. Siiski on oluline märkida, et see halvim juhtum on väga haruldane. Üldisemalt, kiire sorteerimine annab kõige tõhusama ja laialdaselt kasutatava meetodi mis tahes suurusega nimekirja koostamiseks.