Kokonaislukulajittelu
Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 22. tammikuuta 2021 tarkistetusta
versiosta . tarkastukset vaativat
2 muokkausta .
Kokonaislukulajittelu on tehtävä lajitella joitakin arvoja kokonaislukuavainten avulla. Kokonaislukulajittelualgoritmeja voidaan käyttää myös ongelmiin, joissa avaimet ovat liukulukuja tai tekstijonoja [ 1] . Kyky suorittaa kokonaislukuaritmeettisia operaatioita avaimille mahdollistaa sen, että kokonaislukulajittelualgoritmit ovat monissa tapauksissa nopeampia kuin vastaavat vertailuja käyttävät lajittelualgoritmit riippuen laskentamallissa sallituista operaatioista ja avainnumeroiden koosta.
Tavalliset kokonaislukulajittelualgoritmit: korilajittelu , kantalukulajittelu , laskentalajittelu ovat laajalti käytettyjä ja tehokkaita [2] [3] . Kokonaislukulajittelualgoritmien lisätutkimukset ovat keskittyneet pahimman tapauksen teoreettisiin parannuksiin, ja saatuja algoritmeja ei pidetä tehokkaina nykyaikaisissa 64-bittisissä tietokoneissa, vaikka kokeet ovat osoittaneet, että jotkin näistä menetelmistä voivat olla parempia kuin bittikohtainen tietojen lajittelu. 128 tai enemmän bittiä avaimessa [4] . Myös suurille tietojoukoille kokonaislukulajittelualgoritmien lähes satunnaismuistin käyttöluonne on rajoitus, etenkin verrattuna muihin lajittelualgoritmeihin, jotka on suunniteltu hierarkkista muistirakennetta ajatellen .
Kokonaislukulajittelua käytetään yhdessä kuudesta vertailuarvosta DARPA High Productivity Computing Systems Discrete Mathematics -sarjassa ja yhdessä yhdestätoista kriteeristä NAS Parallel Benchmarks -sarjassa [5] .
Laskentamallit
Kokonaislukulajittelualgoritmien aikarajoitukset riippuvat yleensä kolmesta parametrista: - lajitettavien tietoarvojen määrästä, - suurimman mahdollisen avaimen suuruusjärjestyksessä ja - tietokoneen konesanan bittien määrästä joka algoritmi suoritetaan. Yleisesti oletetaan , että , eli konesanat ovat riittävän suuria edustamaan sekä syöttösekvenssin indeksiä että avainta [6] .




Kokonaislukulajittelualgoritmit on yleensä suunniteltu toimimaan joko osoitinkoneessatai koneelle, jossa on satunnainen pääsy muistiin . Suurin ero näiden mallien välillä on, että hajasaantikoneet mahdollistavat mielivaltaisen arvon käyttämisen rekisterissä muistiosoitteena luku- ja kirjoitusoperaatioissa, joissa on aikayksikköarvo, ja järjestää monimutkaisia tiedonkäsittelyjä hakutaulukon avulla . Osoitinkonemalli mahdollistaa pääsyn muistiin vain osoittimien kautta, joita ei voi manipuloida aritmeettisilla operaatioilla. Molemmissa malleissa bittikohtaiset toiminnot voidaan suorittaa pääsääntöisesti yhdessä aikalohkossa . Erilaiset kokonaislukulajittelualgoritmit tekevät erilaisia oletuksia siitä, voidaanko kokonaislukujen kertolasku suorittaa yhdessä aikaviipaleessa [6] [7] . Erikoisemmat laskentamallit, kuten satunnaispääsy-rinnakkaiskoneet [8] [9] [10] [11] [12] , voidaan myös harkita .
Vuonna 1999 osoitettiin, että joissakin tapauksissa joidenkin kokonaislukujen lajittelualgoritmien vaatima kertolasku tai taulukkohaku voidaan korvata erikoistoiminnoilla, jotka voidaan helposti toteuttaa laitteistossa, mutta joita ei yleensä ole saatavilla yleiskäyttöisissä tietokoneissa [7] .
Muistiinpanot
- ↑ Han, Thorup, 2002 .
- ↑ McIlroy, Bostic, McIlroy, 1993 .
- ↑ Andersson, Nilsson, 1998 .
- ↑ Rahman, Raman, 1998 .
- ↑ DARPA HPCS Discrete Mathematics Benchmarks Arkistoitu 10. maaliskuuta 2016 Wayback Machinessa , Duncan A. Buell, University of South Carolina, haettu 20.4.2011.
- ↑ 1 2 Fredman, Willard, 1993 .
- ↑ 1 2 Andersson, Miltersen, Thorup, 1999 .
- ↑ Reif, 1985 .
- ↑ Cole, Vishkin, 1986 , Kommentti.
- ↑ Hagerup, 1987 .
- ↑ Bhatt et ai., 1991 .
- ↑ Albers, Hagerup, 1997 .
Kirjallisuus
- Ajtai, M., Fredman, M., Komlós, J. Hash-funktiot prioriteettijonoille // Information and Control. - 1984. - Voi. 63 , nro. 3 . — s. 217–225 . - doi : 10.1016/S0019-9958(84)80015-7 .
- Albers, Susanne, Hagerup, Torben. Parannettu rinnakkaisten kokonaislukujen lajittelu ilman samanaikaista kirjoittamista // Information and Computation. - 1997. - Voi. 136 , nro. 1 . — s. 25–51 . - doi : 10.1006/inco.1997.2632 .
- Andersson, Arne, Hagerup, Torben, Nilsson, Stefan, Raman, Rajeev. Lajittelu lineaarisessa ajassa? (Englanti) // Journal of Computer and System Sciences. - 1998. - Voi. 57 , no. 1 . — s. 74–93 . - doi : 10.1006/jcss.1998.1580 .
- Andersson, Arne, Nilsson, Stefan. Radxsortin toteuttaminen // The ACM Journal of Experimental Algorithmics. - 1998. - Voi. 3 . - doi : 10.1145/297096.297136 .
- Andersson, Arne, Miltersen, Peter Bro, Thorup, Mikkel. Fuusiopuut voidaan toteuttaa vain AC 0 -ohjeilla (englanniksi) // Teoreettinen tietojenkäsittelytiede. - 1999. - Voi. 215 , nro. 1-2 . — s. 337–344 . - doi : 10.1016/S0304-3975(98)00172-8 .
- Bhatt, PCP, Diks, K., Hagerup, T., Prasad, VC, Radzik, T., Saxena, S. Parannettu deterministinen rinnakkaisten kokonaislukujen lajittelu // Information and Computation. - 1991. - Voi. 94 , no. 1 . — s. 29–47 . - doi : 10.1016/0890-5401(91)90031-V .
- Cole, R., Vishkin, u. Deterministinen kolikonheitto sovellusten kanssa optimaaliseen rinnakkaisjärjestykseen // Tiedot ja ohjaus. - 1986. - Voi. 70 , ei. 1 . — s. 32–53 . - doi : 10.1016/S0019-9958(86)80023-7 .
- Comrie, LJ Hollerithin ja Powersin taulukointikoneet // Trans . toimistokone. Users' Assoc., Ltd. - 1929-1930. — s. 25–37 .
- Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L., Stein, Clifford. Johdatus algoritmeihin . - MIT Press ja McGraw-Hill, 2001.
- Fredman, Michael L., Willard, Dan E. Tietoteoreettisen sidoksen ylittäminen fuusiopuilla (englanniksi) // Journal of Computer and System Sciences. - 1993. - Voi. 47 , nro. 3 . — s. 424–436 . - doi : 10.1016/0022-0000(93)90040-4 .
- Fredman, Michael L., Willard, Dan E. Trans-dikotomiset algoritmit minimivirittäville puille ja lyhimmille poluille // Journal of Computer and System Sciences. - 1994. - Voi. 48 , no. 3 . - s. 533-551 . - doi : 10.1016/S0022-0000(05)80064-9 .
- Goodrich, Michael T., Tamassia, Roberto. Algoritmien suunnittelu : perusteet, analyysi ja Internet-esimerkit . — John Wiley & Sons, 2002. — s. 241–243 .
- Hagerup, Torben. Kohti optimaalista rinnakkaista ämpärilajittelua // Information and Computation. - 1987. - Voi. 75 , no. 1 . — s. 39–51 . - doi : 10.1016/0890-5401(87)90062-9 .
- Han, Yijie. Deterministinen lajittelu O ( n log log n ) ajassa ja lineaarisessa avaruudessa // Journal of Algorithms. Kognition, informatiikka ja logiikka. - 2004. - Voi. 50 , ei. 1 . — s. 96–105 . - doi : 10.1016/j.jalgor.2003.09.001 .
- Han, Yijie, Thorup, M. Symposium on Foundations of Computer Science . - 2002. - s. 135-144 . - doi : 10.1109/SFCS.2002.1181890 .
- Kirkpatrick, David, Reisch, Stefan. Ylärajat kokonaislukujen lajittelulle hajasaantikoneissa // Teoreettinen tietojenkäsittelytiede. - 1984. - Voi. 28 , ei. 3 . — s. 263–276 . - doi : 10.1016/0304-3975(83)90023-3 .
- McIlroy, Peter M., Bostic, Keith, McIlroy, M. Douglas. Engineering Radix Sort (englanniksi) // Computing Systems. - 1993. - Voi. 6 , ei. 1 . — s. 5–27 .
- Pedersen, Morten Nicolay. Tutkimus sanan RAM-algoritmien käytännön merkityksestä sisäisessä kokonaislukulajittelussa . — Tietojenkäsittelytieteen laitos, Kööpenhaminan yliopisto, Tanska, 1999. Arkistoitu alkuperäisestä 16. maaliskuuta 2012.
- Rahman, Naila, Raman, Rajeev. Algorithm Engineering, 2nd International Workshop, WAE '92, Saarbrücken, Saksa, 20.–22. elokuuta 1998, Proceedings . — Max Planck Institute for Computer Science, 1998. — S. 193–203 .
- Reif , John H. Symposium tietojenkäsittelytieteen perusteista . - 1985. - S. 496-504 . - doi : 10.1109/SFCS.1985.9 .
- Thorup, Mikkel. Satunnaistettu lajittelu O ( n log log n ) -ajassa ja lineaarisessa avaruudessa käyttämällä yhteen-, siirto- ja bittikohtaisia Boolen operaatioita // Journal of Algorithms. - 2002. - Voi. 42 , nro. 2 . — s. 205–230 . - doi : 10.1006/jagm.2002.1211 .
- Thorup, Mikkel. Proceedings of the F44th Annual Annual ACM-SIAM Symposium on Discrete Algorithms (Baltimore, MD, 2003 ) . - ACM, 2003. - P. 699-707 .
- Thorup, Mikkel. Ekvivalenssi prioriteettijonojen ja lajittelun välillä (englanniksi) // Journal of the ACM. - 2007. - Voi. 54 , nro. 6 . - doi : 10.1145/1314690.1314692 .
- Willard, Dan E. Log-logaritminen pahimman tapauksen aluekyselyt ovat mahdollisia avaruudessa Θ( N ) // Information Processing Letters. - 1983. - Voi. 17 , ei. 2 . — s. 81–84 . - doi : 10.1016/0020-0190(83)90075-3 .