Egész számok rendezése
Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. január 22-én felülvizsgált
verziótól ; az ellenőrzések 2 szerkesztést igényelnek .
Az egész számok rendezése bizonyos értékkészletek rendezésének feladata egész kulcsok segítségével. Az egész szám szerinti rendezési algoritmusok olyan problémák esetén is használhatók, ahol a kulcsok lebegőpontos számok vagy szöveges karakterláncok [1] . A kulcsokon való egész számok számtani műveleteinek végrehajtása lehetővé teszi, hogy az egész számok rendezési algoritmusai sok esetben gyorsabbak legyenek, mint az összehasonlítást alkalmazó hasonló rendezési algoritmusok, a számítási modellben megengedett műveletektől és a kulcsszámok méretétől függően.
A szokásos egész szám rendezési algoritmusok: kosár rendezés , radix rendezés , számláló rendezés széles körben használtak és hatékonyak [2] [3] . Az egészszámú rendezési algoritmusokkal kapcsolatos további kutatások a legrosszabb eset elméleti fejlesztéseire összpontosítottak, és a kapott algoritmusok nem tekinthetők hatékonynak a modern 64 bites számítógépeken, bár a kísérletek kimutatták, hogy ezen módszerek némelyike jobb lehet, mint az adatok bitenkénti rendezése. 128 vagy több bittel a [4] kulcson . Ezenkívül nagy adathalmazok esetén az egész számok rendezési algoritmusainak csaknem véletlenszerű memória-hozzáférési jellege korlátot jelent, különösen, ha összehasonlítjuk más rendezési algoritmusokkal, amelyeket a hierarchikus memóriastruktúra figyelembevételével terveztek .
Az egész számok szerinti rendezést a DARPA High Productivity Computing Systems Discrete Mathematics programcsomag hat benchmarkjának egyikében, valamint a NAS Parallel Benchmarks programcsomag tizenegy kritériumának egyikében [5] használják .
Számítási modellek
Az egész szám rendezési algoritmusok időkorlátja általában három paramétertől függ: - a rendezendő adatértékek számától, - a lehető legnagyobb kulcs nagyságrendjétől és - a számítógép gépi szavának bitjeinek számától. hogy az algoritmus végrehajtásra kerüljön. Általában azt feltételezik, hogy , vagyis a gépszavak elég nagyok ahhoz, hogy a beviteli sorozat indexét és a kulcsot is reprezentálják [6] .
Az egész számok rendezési algoritmusait általában úgy tervezték, hogy akár a mutatógépen is működjenek, vagy a memóriához véletlenszerű hozzáféréssel rendelkező géphez . A fő különbség e modellek között az, hogy a véletlen hozzáférésű gépek lehetővé teszik egy regiszterben tetszőleges érték használatát memóriacímként egységnyi időértékkel rendelkező olvasási és írási műveletekben, valamint összetett adatkezelések szervezését keresőtábla segítségével . A mutatógép-modell csak mutatókon keresztül teszi lehetővé a memóriához való hozzáférést, amelyek nem manipulálhatók aritmetikai műveletekkel. Mindkét modellben a bitenkénti műveletek általában egy időszeletben hajthatók végre . A különböző egészszám-rendezési algoritmusok eltérő feltételezéseket tesznek arról, hogy egy időszeletben elvégezhető-e az egész szám szorzása [6] [7] . Speciálisabb számítási modellek, például véletlen hozzáférésű párhuzamos gépek [8] [9] [10] [11] [12] is szóba jöhetnek .
1999-ben kimutatták, hogy bizonyos esetekben az egyes egész számok rendezési algoritmusaihoz szükséges szorzás vagy táblázatkeresés helyettesíthető speciális műveletekkel, amelyek könnyen megvalósíthatók hardverben, de általános célú számítógépeken általában nem érhetők el [7] .
Jegyzetek
- ↑ Han, Thorup, 2002 .
- ↑ McIlroy, Bostic, McIlroy, 1993 .
- ↑ Andersson, Nilsson, 1998 .
- ↑ Rahman, Raman, 1998 .
- ↑ A DARPA HPCS Discrete Mathematics Benchmarks archiválva : 2016. március 10., a Wayback Machine , Duncan A. Buell, University of South Carolina, letöltve: 2011.04.20.
- ↑ 1 2 Fredman, Willard, 1993 .
- ↑ 1 2 Andersson, Miltersen, Thorup, 1999 .
- ↑ Reif, 1985 .
- ↑ Cole, Vishkin, 1986 , Megjegyzés.
- ↑ Hagerup, 1987 .
- ↑ Bhatt et al., 1991 .
- ↑ Albers, Hagerup, 1997 .
Irodalom
- Ajtai, M., Fredman, M., Komlós, J. Hash functions for priority queues // Információ és vezérlés. - 1984. - 1. évf. 63 , sz. 3 . — P. 217–225 . - doi : 10.1016/S0019-9958(84)80015-7 .
- Albers, Susanne, Hagerup, Torben. Továbbfejlesztett párhuzamos egész számok rendezése párhuzamos írás nélkül // Információ és számítás. - 1997. - 1. évf. 136. sz . 1 . — P. 25–51 . - doi : 10.1006/inco.1997.2632 .
- Andersson, Arne, Hagerup, Torben, Nilsson, Stefan, Raman, Rajeev. Lineáris időben történő rendezés? (angol) // Journal of Computer and System Sciences. - 1998. - 1. évf. 57 , sz. 1 . — P. 74–93 . - doi : 10.1006/jcss.1998.1580 .
- Andersson, Arne, Nilsson, Stefan. A radixsort megvalósítása // Az ACM Journal of Experimental Algorithmics. - 1998. - 1. évf. 3 . - doi : 10.1145/297096.297136 .
- Andersson, Arne, Miltersen, Peter Bro, Thorup, Mikkel. A fúziós fák csak AC 0 utasításokkal valósíthatók meg (angol) // Theoretical Computer Science. - 1999. - 1. évf. 215 , sz. 1-2 . — P. 337–344 . - doi : 10.1016/S0304-3975(98)00172-8 .
- Bhatt, PCP, Diks, K., Hagerup, T., Prasad, VC, Radzik, T., Saxena, S. Improved deterministic parallel integer sorting // Information and Computation. - 1991. - 1. évf. 94 , sz. 1 . — P. 29–47 . - doi : 10.1016/0890-5401(91)90031-V .
- Cole, R., Vishkin, u. Determinisztikus érmefeldobás alkalmazásokkal az optimális párhuzamos listás rangsoroláshoz // Információ és vezérlés. - 1986. - 1. évf. 70 , sz. 1 . — P. 32–53 . - doi : 10.1016/S0019-9958(86)80023-7 .
- Comrie, LJ A Hollerith és Powers táblázatos gépek // Transz . irodai gép. Users' Assoc., Ltd. – 1929–1930. — P. 25–37 .
- Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L., Stein, Clifford. Bevezetés az algoritmusokba . – MIT Press és McGraw-Hill, 2001.
- Fredman, Michael L., Willard, Dan E. Az információelméleti kötöttség túlszárnyalása fúziós fákkal (angol) // Journal of Computer and System Sciences. - 1993. - 1. évf. 47 , sz. 3 . — P. 424–436 . - doi : 10.1016/0022-0000(93)90040-4 .
- Fredman, Michael L., Willard, Dan E. Transzdichotóm algoritmusok minimális feszítőfákhoz és legrövidebb utakhoz // Journal of Computer and System Sciences. - 1994. - 1. évf. 48 , sz. 3 . - P. 533-551 . - doi : 10.1016/S0022-0000(05)80064-9 .
- Goodrich, Michael T., Tamassia, Roberto. Algoritmustervezés : alapok, elemzés és internetes példák . – John Wiley & Sons, 2002. – P. 241–243 .
- Hagerup, Torben. Az optimális párhuzamos vödör rendezés felé // Információ és számítás. - 1987. - 1. évf. 75 , sz. 1 . — P. 39–51 . - doi : 10.1016/0890-5401(87)90062-9 .
- Han, Yijie. Determinisztikus rendezés O ( n log log n ) időben és lineáris térben // Journal of Algorithms. Kogníció, informatika és logika. - 2004. - 20. évf. 50 , sz. 1 . — P. 96–105 . - doi : 10.1016/j.jalgor.2003.09.001 .
- Han, Yijie, Thorup, M. Szimpózium a Számítástudomány alapjairól . - 2002. - P. 135-144 . - doi : 10.1109/SFCS.2002.1181890 .
- Kirkpatrick, David, Reisch, Stefan. Az egész számok rendezésének felső határai véletlen hozzáférésű gépeken // Elméleti számítástechnika. - 1984. - 1. évf. 28 , sz. 3 . — P. 263–276 . - doi : 10.1016/0304-3975(83)90023-3 .
- McIlroy, Peter M., Bostic, Keith, McIlroy, M. Douglas. Engineering Radix Sort (angol) // Számítástechnikai rendszerek. - 1993. - 1. évf. 6 , sz. 1 . — P. 5–27 .
- Pedersen, Morten Nicolay. A Word RAM algoritmusok gyakorlati jelentőségének tanulmányozása a belső egész számok rendezésében . — Számítástechnikai Tanszék, Koppenhágai Egyetem, Dánia, 1999. Az eredetiből archiválva : 2012. március 16..
- Rahman, Naila, Raman, Rajeev. Algorithm Engineering, 2nd International Workshop, WAE '92, Saarbrücken, Németország, 1998. augusztus 20–22., Proceedings . - Max Planck Institute for Computer Science, 1998. - P. 193-203 .
- Reif, John H. Szimpózium a Számítástudomány alapjairól . - 1985. - P. 496-504 . - doi : 10.1109/SFCS.1985.9 .
- Thorup, Mikkel. Véletlenszerű rendezés O ( n log log n ) időben és lineáris térben összeadás, eltolás és bitenkénti logikai műveletek segítségével // Journal of Algorithms. - 2002. - 20. évf. 42 , sz. 2 . — P. 205–230 . - doi : 10.1006/jagm.2002.1211 .
- Thorup, Mikkel. A tizennegyedik éves ACM-SIAM szimpózium a diszkrét algoritmusokról (Baltimore, MD, 2003 ) kiadványa . - ACM, 2003. - P. 699-707 .
- Thorup, Mikkel. A prioritási sorok és a rendezés közötti egyenértékűség (angol) // Journal of the ACM. - 2007. - Vol. 54 , sz. 6 . - doi : 10.1145/1314690.1314692 .
- Willard, Dan E. Log-logaritmikus legrosszabb eset tartomány lekérdezések lehetségesek a Θ( N ) térben // Information Processing Letters. - 1983. - 1. évf. 17 , sz. 2 . — P. 81–84 . - doi : 10.1016/0020-0190(83)90075-3 .