/ / Rūšiavimo algoritmai, kaip jie yra

Rūšiavimo algoritmai, kaip jie yra

Rūšiavimas yra susitarimasobjektai tam tikroje tvarkoje, pavyzdžiui, mažėjančia tvarka arba didėjančia tvarka. Paprastai elementų užsakymas yra labiausiai paplitęs manipuliavimas duomenimis, todėl ateityje lengviau rasti tinkamą informaciją. Tai daugiausia taikoma įvairioms duomenų valdymo sistemoms. Rūšiavimo algoritmai šiuo metu egzistuoja daug, nors jie turi panašias savybes (veiksmus): elementų palyginimas ir permutacija poromis, kol seka tampa užsisakyta.

masyvo rūšiavimo algoritmas

Rūšiavimo algoritmai gali būti klasifikuojami įvidinis ir išorinis. Pirmasis būdingas tai, kad visi surūšiuoti elementai yra dedami į RAM, ir galima gauti atsitiktinę prieigą prie bet kurio iš jų. Pastarasis gali dirbti su duomenimis, esančiais išorinėje atmintyje (failuose). Prieiga prie tokių elementų gali būti įgyvendinta nuosekliai.

Patogiau rūšiuoti daiktus, kai jie yravieno dydžio masyvo struktūroje. Kiekvienas toks elementas turi serijinį numerį, o masyvo elementui pasiekiamas indeksas. Rūšiuoti algoritmai šiuo atveju pasirodė esąs paprasčiausias ir suprantamesnis naudojimui.

Apsvarstykite vidinį rūšiavimo algoritmąmažėjanti burbulo metodu ir jo patobulinta versija, skiriasi rūšiuojant praleistam laikui. Rūšiavimas pagal burbulo metodą iš tikrųjų turi daugybę pavadinimų. Jis taip pat vadinamas linijiniu rūšiavimo metodu arba pasirinkto keitimo rūšiavimo metodu. Bet vis dėlto tai nėra vardas. Kodėl burbulas? Kartą vandenyje, oro burbuliukas bus plūduriuojantis, nes lengviau. Pavyzdžiui, rūšiuojant didėjančia tvarka, viršuje rodomas mažiausias elementas.

rūšiavimo algoritmai

Pažvelkime į pirmąjį masyvo rūšiavimo algoritmo variantą burbulo metodu. Žodinis algoritmas rūšiuojant masyvą, turinčią identifikatorių mas ir susidedantis iš N elementų, atrodo taip:

1. Vietoj didžiausio elemento masyvo vietoje pirmojo elemento (mas [1]). Tam mes lyginamume su visais likusiais elementais (mas [2], mas [3] ... mas [N]). Jei pasirodys, kad bet kuris iš likusių elementų yra didesnis nei mas [1], tuomet jie turi būti keičiami (per papildomą kintamąjį buf).

2. Pašalinus iš dėmesys mas elemento [1] ir pakartoti žingsnis 1 mas elemento [2].

3. Šie veiksmai turėtų būti kartojami visiems elementams, išskyrus paskutinius.

"Burbų rūšiavimo algoritmo" įgyvendinimas "Pascal":

masyvo rūšiavimo algoritmas

Apie antrąjį variantą (patobulintas metodasburbulas) galime pasakyti, kad tai greitas rūšiavimo algoritmas. Taigi, jei jūs bandote naudoti jį rūšiuoti masyvo jau rūšiuojamos, algoritmas baigia savo darbą po pirmojo perdavimo masyvo elementais. Tai reiškia, kad mes ne eikvoti išteklių sistemos ir skaičiavimo laiko bereikšmių palyginimo elementų.

Čia pateikiamas šis "Pascal" programavimo kalbos rūšiavimo algoritmo įgyvendinimas:

greitas rūšiavimo algoritmas

Taigi, rūšiavimo algoritmai yra duomenų sekų užsakymo priemonė. Renkantis konkretų algoritmą, turėtumėte atsižvelgti į išlaidas, susijusias su sistemos laiku ir ištekliais.

Skaityti daugiau: