/ / Lajittelualgoritmit sellaisina kuin ne ovat

Lajittele algoritmit sellaisina kuin ne ovat

Lajittelu on järjestelyesineitä tietyssä järjestyksessä, esimerkiksi laskeva tai nouseva. Yleisesti ottaen elementtien järjestäminen on yleisimpiä manipulointeja, mikä helpottaa tarvittavien tietojen etsintää. Tämä koskee suurelta osin eri tietokannan hallintajärjestelmiä. Lajittelualgoritmit ovat tällä hetkellä suuria määriä, vaikka niillä on samanlaiset ominaisuudet (vaiheet): elementtien vertailu ja järjestäminen pareittain, kunnes sekvenssi on järjestetty.

array lajittelu algoritmi

Lajittelualgoritmit voidaan luokitellasisäinen ja ulkoinen. Ensimmäiselle on tunnusomaista se, että kaikki lajiteltavat elementit sijoitetaan RAM-muistiin ja on mahdollista saada satunnainen pääsy mihin tahansa niistä. Toinen voi toimia ulkoisessa muistissa (tiedostoissa) olevien tietojen kanssa. Pääsy tällaisiin elementteihin voidaan toteuttaa peräkkäin.

On helpompaa lajitella kohteita, kun ne ovatyksiulotteisen taulukon rakenteessa. Kullakin tällaisella elementillä on järjestysnumero, ja hakemus ryhmän elementtiin tapahtuu indeksin mukaan. Tällöin lajittelualgoritmit ovat helpoimpia ja ymmärrettävimpiä.

Tarkastellaan sisäistä lajittelualgoritmialaskeutuu kuplamenetelmällä ja sen parannetulla versiolla, joka eroaa lajitteluun käytetystä ajasta. Bubble-lajittelussa on todella paljon nimiä. Sitä kutsutaan myös lineaariseksi lajittelumenetelmäksi tai vaihtoehdon lajittelumenetelmäksi. Mutta muuten se ei ole nimi. Miksi kupla? Kun vesi on tullut, ilmakupla kelluu, koska se on kevyempi. Esimerkiksi kun lajitellaan nousevassa järjestyksessä, pienimmät elementit ovat yläosassa.

lajittelualgoritmit

Tarkastellaan algoritmin ensimmäistä versiota taulukon lajitteluun kuplamenetelmällä. N-elementeistä koostuva sanan algoritmi ryhmittelemään mas-tunnisteella on seuraava:

1.Aseta ensimmäisen elementin (mas [1]) joukkoon suurin elementti. Tätä varten vertaamme sitä vuorotellen kaikkien muiden elementtien (mas [2], mas [3] ... mas [N]) kanssa. Jos käy ilmi, että mikä tahansa jäljellä olevista elementeistä on suurempi kuin mas [1], sinun täytyy vaihtaa ne (lisämuuttujan buf kautta).

2. Elementin mas [1] poistaminen tarkasteltaessa toista lauseketta 1 elementille mas [2].

3. Nämä toiminnot toistetaan kaikkien elementtien osalta viimeistä lukuun ottamatta.

Mullan lajittelualgoritmin toteutus Pascal-ohjelmointikielellä:

array lajittelu algoritmi

Tietoja toisesta vaihtoehdosta (parannettu menetelmä)kupla) voidaan sanoa, että tämä on nopea lajittelualgoritmi. Joten jos yrität käyttää sitä lajitellaksesi jo lajitellun taulukon, algoritmi lopettaa työnsä ensimmäisen matriisin elementtien läpi. Tämä tarkoittaa, että emme tuhlaa järjestelmän laskennallisia resursseja ja aikaa merkityksettömään vertailuun.

Tässä on tämän Pascal-ohjelmointikielen lajittelualgoritmin toteutus:

nopea lajittelualgoritmi

Niinpä lajittelualgoritmit ovat keino tilata tietosekvenssejä. Kun valitset tietyn algoritmin, kannattaa harkita kustannuksia ajan ja järjestelmän resurssien suhteen.

piti:
0
Suosituimmat viestit
Henkinen kehitys
ruoka
y