Algoritmusok
| Algoritmus megadása |
| Alapalgoritmusok |
Keresések
Szekvenciális keresés
Gyorsított szekvenciális keresés
Felezéses (bináris, logaritmikus) keresés
Rendezések
Közvetlenbeszúrásos rendezés
Buborék rendezés
Gyors rendezés
adott: K1,...,Kn sorozat
K
kersett érték
Hátránya: Egy cikluson belől két összehasonlítás van ezért lassú.
Gyorsított szekvenciális keresés
Előnye: Ezzel a megoldással csak egy összehasonlítás van a cikluson belől.
Felezéses (bináris, logaritmikus) keresés
Rendezett sorokon végezhető algoritmus, mely sokkal gyorsabb az előzőeknél. Bináris esetben mindig az aktuális sorrész felénél végez összehasonlítást. Logaritmikus esetben, logaritmikus skála szerint osztja ketté az aktuális sorrészt, ez bizonyos esetekben gyorsabb.
CIKLUS I=1-TŐL N-1 - IG
CIKLUS J=I+1 - TŐL N-IG
HA A(J)<A(I) AKKOR
A:=A(J)
A(J):=A(I)
A(I):=A
HA VÉGE
CIKLUS VÉGE
CIKLUS VÉGEElv: A szomszédos elemeket cseréljük, ha szükséges.
Előny: Könnyen implementálható algoritmushoz jutunk.
Az algoritmus gyorsítható, ha egy flag-et vezetünk be, mely figyeli, hogy a cikluson belől volt-e csere, amenyiben nem volt, vége az algoritmusnak, a sor többi része már rendezett.
A leggyorsabb rendezési algoritmus
hátrány: Ez egy rekurzív algoritmus, az újraindítások idő és tárigényesek ezért kis elemszám esetén erősen leromlik az algoritmus hatásfoka. Ez a hiányosság javíható, ha kombinált algoritmust használunk, nagy elemszám esetén gyorsrendezés, majd amikor az elemszám lecsökken áttérünk valamely más klasszikus algoritmusra.