32 lines
1.0 KiB
Plaintext
32 lines
1.0 KiB
Plaintext
Gyorsrendezés (quick sort)
|
|
A gyorsrendezés az "oszd meg és uralkodj" elven működik.
|
|
Lépései a következők:
|
|
1. Kiválasztunk a tömbből egy tetszőleges elemet. Ez lesz az ún. vezérelem.
|
|
2. Az ennél kisebbek a tömb elejére kerülnek.
|
|
3. Az ennél nagyobbak a tömb végére kerülnek.
|
|
|
|
Az algoritmus hatékonysága azon múlik, hogy sikerül-e jó vezérelemet választani.
|
|
Az algoritmus O(n log n) időben tud teljesíteni, de a legrosszabb esetben O(n2) időben fut le.
|
|
|
|
i = kez
|
|
j = veg
|
|
pivot = a[(i + j) / 2]
|
|
AMÍG i <= j
|
|
AMÍG a[i] < pivot
|
|
i növelése
|
|
AMÍG a[j] > pivot
|
|
j csökkentése
|
|
HA i <= j AKKOR
|
|
csere a[i] a[j]
|
|
|
|
|
|
Rekurzió
|
|
|
|
|
|
Fibonacci sorozat
|
|
A Fibonacci számok matematikában az egyik legismertebb rekurzív sorozatot alkotják. A faktoriálishoz hasonló módon definiáljuk őket, az első két elemet konkrétan meghatározzuk (0 és 1), a további elemeket pedig mindig a sorozatban
|
|
|
|
Az iteratív módszer előnyei:
|
|
|
|
Hatékonyság:
|
|
Az iteráció során |