Melyik a leggyorsabb rendezési és keresési módszer c++?
Pl sok elem közül egy elem megkeresése, vagy bizonyos jellemzők alapján elemek megkeresése.
Rendezésnél meg bizonyos jellemzők alapján sorba rendezés.
Írtam már pár kódot, ami egy tömb elemeit sorba rendezi, de az nem biztos, hogy a leggyorsabb kód.
Főleg módszer (rendezési elv) alapján érdekel, nem maga a kód. Pl összehasonlítja az egymás mellett lévőket, és a nagyobbat előre helyezi, meg ehhez hasonlók.
Hasonló sebességet produkálhat, mintha Pythonban írták volna a kódot, vagy annyira gyors nem lesz? Tudom, hogy a C++-szal iszonyat gyorsan le tud futni, de a Python meg kifejezetten erre specializálódott.
Rendezésre azt hiszem a quicksort jó eredményeket produkál.
Keresésnél: hááát, igazából tömböt lineáris kereséssel lehet csak végignézni, ha rendezve van, esetleg lehet próbálkozni felezéses módszerrel az indexekre, de erre nincs optimális megoldás minden esetre, ez egyedi.
Python vs c++ kérdésedre pedig: mivel a python interpretált nyelv, ezért tudomásom szerint minden esetben lassabb mint a c++, ami teljesen gépi kóddá fordul. Persze a különbség lehet hogy csak pár mikroszekundum, de mindenképp csak a c++ tud nyerni.
Rendezésekhez, áttekintőnek:
https://www.youtube.com/watch?v=BeoCbJPuvSE
Kereséshez rendezett tömbökhöz írták a felezéses, logaritmikus módszert, de igazából nem csak kétutas lehet, ez feladattól függően alakítható. Pl:
(Indexelési és indexfájl-karbantartási infókat is kereshetsz.)
Egy klasszikus:
Ez nagyon lame kérdés.
A keresés függ az elemszámtól, az elemek jellemzőitől, a struktúrától, amiben az elemek el vannak tárolva, stb.
Ezért is van alap kb. 10 féle kereső algoritmus és nem egy féle, a legjobb, mert nincs legjobb, csak legalkalmasabb van, egy adott helyzetben.
A python vs C++ sebességbeli összehasonlításon még hangosan fel is nevettem. A C++ a pythonra bármilyen helyzetben, feladattól totál függetlenül, köröket ráver.
1, 23, 4, 245, 43, 2
Az "1"-et szeretnénk megtalálni. Melyik algoritmus a leggyorsabb? Hát nyilván az, amelyik elölről kezdi el keresni, hiszen akkor rögtön megtalálja.
Az "2"-őt szeretnénk megtalálni. Melyik algoritmus a leggyorsabb? Hát nyilván az, amelyik hátulról kezdi el keresni, hiszen akkor rögtön megtalálja.
Kapiskálod már?
Egyébként a rendezésekre vannak tételek, ezeket érdemes megtanulni és a kívánalmaknak megfelelőt használni:
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!