ArvutidProgrammeerimine

Quicksort programmeerimise meetod

1960. aastal K. A. Hoar töötanud meetodi kiire sorteerimise teavet, sai kõige kuulsam. Täna on laialdaselt kasutusel programmeerimine, sest see on palju positiivseid omadusi: seda saab kasutada üldistel juhtudel, see nõuab väikest kasvu lisamälu ühildub erinevate nimekirjade ja lihtne rakendada. Aga seal on puudusi, mis on Quicksort: kasutades töö võimaldas palju vigu, ja see on mõnevõrra ebastabiilne.

Siiski on kõige enam uuritud versiooni. Pärast esimese makse Hoare, paljud ei oma tiheda uuring. suur baasi loodi teoreetilistele küsimustele leida aega kulutada töö, mida toetab empiirilisi tõendeid. Oli tõeline ettepanekuid parandada põhilisi algoritm ja suurema kiiruse.

Quicksort on väga levinud, seda võib leida kõikjal. Selle põhjal meetodit rakendatakse TList.Sort, praegu kõigis versioonides (välja arvatud 1) Delphi, raamatukogu funktsiooni kulus lõpule, qsort C ++.

Põhimõtteks operatsiooni saab formuleerida "jaga ja valitse". Ta esineb purustamine nimekirja kahte rühma ja on järjestatud iga osa ise. Sellest järeldub, et rohkem tähelepanu tuleks pöörata komponentide eraldamine, mille jooksul toimub järgmine: määratakse põhielement ja on suhteliselt ümber kogu oma nimekirja. Ehitatud vasakul rühma kandidaatide mille väärtus on väiksem kui kõik muud üleandmise eeskirju. Tuleb välja, et peamine element järjestatud nimekiri on oma õigele kohale. Järgmine etapp - väljakutse rekursiivne sortimiseks funktsioone mõlemale poolele elementide aluse suhtes. See lõpeb protsess toimib ainult siis, kui nimekirjas on ainult üks element, mis on välja sorteerida. Seega selleks, et osata programmeerimine funktsiooni kiire omamoodi, on vaja teada töö madalama taseme algoritme: a) valik põhiosa; b) loetelu kõige tõhusam permutatsioon toota kaks väiksemate ja suuremate väärtustega.

Tutvuda esimese põhimõtteid. Valides baasi liige, peaks ideaalis olema valitud nimekiri keskmisest. Siis vaheaega on jagatud kaheks võrdseks pooleks. Just arvutada keskmine väärtus nimekirjas on väga raske, nii et isegi kõige kiiremini sortimise möödasõidu see matemaatiline pool. Aga valik on põhielement maksimaalse või minimaalse väärtuse - ka ei ole parim valik. Kui selline määramine ühe loob tühja nimekirjad tagatakse, ja teine täis. Siit järeldus, et põhiosa tuleks valida üks, mis on lähemal keskmine, kuid maksimaalse ja minimaalse.

Kui valik on määratud, saate jätkata lagunemise algoritm. See niinimetatud silmuseid kiire omamoodi. Kõik on ehitatud kaks Rapid Access indeksid: esiteks minna üle elemente vasakult paremale, teise, vastupidi, paremalt vasakule. Algab operatsioon täitmise õigus: indeks on nimekirjas ja võrrelda kõiki väärtusi peamine. Tsükkel on lõppenud, kui element on väiksem või võrdne algtaseme. See tähendab, et seal on võrdlus ja vähendab indeksi väärtus. Vasakul kui töö on lõpetatud suurem või võrdne väärtus. Siin võrdlus väärtus suureneb.

Praeguses etapis eraldamisele algoritmi, mis sisaldab Quicksort kaks olukorrad võivad tekkida. Esimene on see, et indeks on jäänud alla paremale. See näitab viga, siis on elemente, mille ta oli märgitud nimekirjas on vales järjekorras. Väljund - muuda oma kohad. Teine olukord on see, kui nii kolonni on võrdne või ületanud. See näitab edukas eraldamine nimekirja, see tähendab, töö on nüüd lõppenud.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 et.atomiyme.com. Theme powered by WordPress.