Melyik a leghatékonyabb rendezési algoritmus?
1. Nincs leghatékonyabb. Minden attól függ, mit akarsz rendezni.
2. Nem a quicksort az. Az egy papíron szép, gyakorlatban már túlhaladott algoritmus. Akkor már inkább a timsort.
A rendezés hatékonyságát sok különböző paraméter határozza meg. Ez függ attól, hogy milyen környezetben, milyen esetekben akarod használni.
Mondok egy példát: A quicksort ugyan a leggyorsabb sok esetben, de például a tárhelyigénye – a rekurzió miatt – n elemű tömb esetén log(n). A buborékrendezésnél viszont 1 elem a tárhelyigény, tehát ebből a szempontból hatékonyabb lehet. Ha pl. olyan környezetben használnád – mondjuk egy beépített rendszerben –, ahol a sebesség gyors, csak pár új elemet kell helyre tenni, valamint a rendszer nagyon kis memóriával rendelkezik, akkor lehet nem a quicksort lesz a befutó.
Megint nem mellékes szempont például, hogy mennyire lesz rendezetlenebb egy sorozat, ha a rendezést menet közben megszakítód. Szintén lényeges szempont lehet mondjuk egy mágneses szalag, vagy fizikai tárgyak rendezésénél, hogy mekkora utat kell megtenni a rendezés során.
Ezek mind-mind szempontok és egy adott program esetén ezeket figyelembe kell venni.
Ez olyan, mint a közlekedés. Melyik a leghatékonyabb? Az autó, a bicikli, vagy a gyalogos közlekedés? Rá lehet vágni, hogy az autó, mert az a leggyorsabb, de próbáltál már autóval sikátorokban közlekedni? Ott lehet a bicikli jobb választás. Viszont próbáltál már biciklivel sziklafalat mászni?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!