Onko ämpärilajittelualgoritmi käytössä?
Onko ämpärilajittelualgoritmi käytössä?

Video: Onko ämpärilajittelualgoritmi käytössä?

Video: Onko ämpärilajittelualgoritmi käytössä?
Video: Programming - Computer Science for Business Leaders 2016 2024, Joulukuu
Anonim

Ei, se ei ole sisään- paikka lajittelu algoritmi . Koko idea on tuo panos lajittelee itse, kun heidät siirretään kauhoja . Pahimmassa tapauksessa (peräkkäiset arvot, mutta ei toistoa) tarvittava lisätila on yhtä suuri kuin alkuperäinen matriisi.

Mitkä lajittelualgoritmit ovat tällä tavalla käytössä?

Toisena esimerkkinä monet lajittelualgoritmit järjestävät taulukoita uudelleen lajiteltuun järjestykseen paikan päällä, mukaan lukien: kuplalajittelu , kampalajittelu, valintalajittelu, lisäyslajittelu , heapssort ja Shell-lajittelu. Nämä algoritmit vaativat vain muutaman osoittimen, joten niiden avaruuden monimutkaisuus on O(log n). Quicksort toimii paikan päällä lajitettavien tietojen perusteella.

Myöhemmin kysymys kuuluu, kuinka ämpärilajittelualgoritmi toimii? Kauhan lajittelu , tai roskakorilajittelu , on lajittelualgoritmi että toimii jakamalla taulukon elementit useisiin kauhoja . Jokainen ämpäri on sitten lajiteltu yksitellen, joko käyttämällä erilaista lajittelualgoritmi , tai käyttämällä rekursiivisesti ämpärilajittelualgoritmi . Aseta taulukko aluksi tyhjästä " kauhoja ".

Näin ollen, kuinka toteutat ämpärilajittelualgoritmin?

  1. Oletetaan, että syöttötaulukko on: Luo taulukko, jonka koko on 10.
  2. Lisää elementtejä taulukon kauhoihin. Elementit asetetaan kauhan alueen mukaan.
  3. Kunkin ryhmän elementit lajitellaan käyttämällä mitä tahansa stabiilia lajittelualgoritmia.
  4. Elementit kustakin ämpäristä kerätään.

Missä ämpärilajittelua käytetään?

Kauhan lajittelu on pääasiassa hyödyllinen, kun syöte on jakautunut tasaisesti alueelle. Harkitse esimerkiksi seuraavaa ongelmaa. Järjestellä suuri joukko liukulukuja, jotka ovat alueella 0,0 - 1,0 ja ovat jakautuneet tasaisesti alueelle.

Suositeltava: