En omvisning på topp 5 sorterings-algoritmer med Python-kode


Sorterings-algoritmer kompleksiteten’

Sortering er en ferdighet som alle programvare ingeniør og utvikler trenger noen kunnskap om. Ikke bare til pass koding intervjuer, men som en generell forståelse av selve programmeringen., De ulike sorterings-algoritmer er en perfekt presentasjon av hvordan algoritmen design kan ha en så sterk effekt på programmet kompleksitet, hastighet og effektivitet.

La oss ta en tur til toppen 6 sorterings-algoritmer og se hvordan vi kan implementere dem i Python!

Boble-sortering er den som vanligvis blir undervist i innledende CS klasser, siden det viser klart hvordan sortere fungerer som samtidig er enkel og lett å forstå. Boble sortere går gjennom listen, og sammenligner tilstøtende par av elementer. Elementene er byttet ut hvis de er i feil rekkefølge., Det passere gjennom den usorterte delen av listen er gjentatt til listen er sortert. Fordi Boble sortere gjentatte ganger gjennom usortert en del av listen, det har en verste tilfelle kompleksitet O(n2).

Sorter Utvalget

sorter Utvalget er også ganske enkel, men ofte utkonkurrerer boble-sortering., Hvis du velger mellom de to, er det best å bare standard rett til utvalget sorter. Med Utvalget sorter, vi dele våre innspill liste / utvalg i to deler: en underliste med elementer som allerede er sortert og underliste med elementer som gjenstår å bli sortert som utgjør resten av listen. Vi først finne den minste elementet i usortert underliste og plasser den på slutten av sortert underliste. Dermed, vi er kontinuerlig å ta tak i det minste usortert element og plassere det i sortert rekkefølge sortert underliste. Denne prosessen fortsetter iterativt til listen er fullt sortert.,

Innsetting Sortere

Innsetting sorter er både raskere og godt-kanskje mer forenklet enn både boble sorter og utvalg sorter. Morsomt nok, det er hvor mange folk sortere kortene når du spiller et spill! På hver sløyfe iterasjon, innsetting sortere fjerner et element fra tabellen., Det så finner du hvor som element hører til i en annen sortert array og setter den der. Det gjentar denne prosessen til no input elementer forblir.

slå sammen Sortere

slå sammen sortering er en perfekt elegant eksempel på en splitt og Hersk-algoritmen., Det enkle bruker de 2 viktigste trinnene av en algoritme:

(1) Kontinuerlig del usortert liste før du har N underlister, hvor hver underliste har 1 element som er «usortert» og N er antall elementer i den opprinnelige matrisen.

(2) Gjentatte ganger å slå sammen jeg.e erobre underlister sammen 2 på en gang for å produsere nye sortert underlister til alle elementer har blitt fullt slått sammen til en enkelt sortert array.,

Rask Sortere

Rask sortering er også en splitt og hersk-algoritmen som fusjonere sorter. Selv om det er litt mer komplisert, i de fleste standard implementasjoner utfører betydelig raskere enn fusjonere sortere og sjelden når sitt verste fall kompleksitet O(n2)., Den har 3 hovedtrinn:

(1) Vi velger først et element som vi vil kalle pivot fra tabellen.

(2) Flytt alle elementer som er mindre enn drei til venstre på pivot; flytte alle elementene som er større enn pivot til høyre for pivot. Dette kalles partisjon drift.

(3) Undermapper bruke over 2 trinn separat til hver av de sub-matriser av elementer med mindre og større verdier enn de siste sving.,

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *