Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Az összehasonlító rendezések

Hasonló előadás


Az előadások a következő témára: "Az összehasonlító rendezések"— Előadás másolata:

1 Az összehasonlító rendezések
0. alaptétele (magyarázat) LL

2 Állítás: Egy összehasonlító rendezés maximális összehasonlítás-száma n elemű input esetén legalább log2(n!).

3 Bizonyítás

4 I. Az állítás belátásához egy összehasonlító rendezés döntési fáját kell vizsgálnunk. Mi is az a döntési fa? Az összehasonlító rendező algoritmus futása során össehasonlításokat végez, mindig két elemet hasonlít össze egymással. Az összehasonlítás eredménye kétféle lehet: A > B vagy A < B. (Feltéve ugyebár, hogy csupa különböző elemeket rendezünk.) Az eredmények alapján felépíthetünk egy bináris fát, melynek csúcsaiba a kérdéseket (miket hasonlítunk össze), leveleibe a végeredményt (a rendezett sorozatot) írhatjuk.

5 Példa: Buborék rendezés döntési fája 3 elemre
(Ismételd át hogyan is működik az.) Rendezendő: A B C Buborék: A és B összehasonlítása, majd ha A nagyobb, akkor csere… A ? B A > B B > A

6 Lejátszva a teljes rendezést, a következő döntési fát kapjuk
Lejátszva a teljes rendezést, a következő döntési fát kapjuk. (Levelekben a rendezett sorozat) (Kékkel a sorozat aktuális állapota) A ? B B ? C A ? C B ? A A < B A > B B < C B > C A < C A > C ABC BAC ACB BCA CAB CBA B < A

7 Vegyük észre, hogy a nyilazott helyeken a kapott válasz már egyértelmű, hiszen ugyanazt a kérdést tettük fel immár másodszor. Ezt a kérdést el is hagyhatnánk, így kapnánk az „okosított” buborék rendező algoritmust. („okosított”, mert nem kérdezi meg ugyanazt kétszer.) ABC A ? B B ? C A ? C B ? A A < B A > B B < C B > C A < C A > C ABC BAC ACB BCA CAB CBA B < A

8 Az „okosított” buborék rendezés döntési fája 3 elem esetén:
A ? B B ? C A ? C A < B A > B B < C B > C A < C A > C ABC BAC ACB BCA CAB CBA

9 II. Minket most a rendezés maximális összehasonlítás-száma és az input mérete közötti kapcsolat érdekel. h A maximális összehasonlítás-szám a döntési fa magassága. (Azaz hogy hány kérdést tettünk fel: hány összehasonlítást végeztünk a legrosszabb esetben.) Jelöljük h-val. (Itt h=3)

10 Az input mérete pedig a következőképpen érzékelhető a döntési fán.
Az n elemet n!-képpen lehet különbőző módon sorbarendezni, és bármelyik sorrend esetén algoritmusunk-nak helyes választ kell adnia: kell lennie legalább egy, azt a sorrendet tartalmazó levélnek. (Ugyanazt az eredményt több összehasonlítás-sorozat után is adhatja.) levelek Esetünkben 3!=6, és pont ennyi levél is van.

11 Könnyen látható, hogy egy h magasságú bináris fának legfeljebb 2h levele van. (Egy teljesnek pont 2h) Most már érezhetjük az összefüggést: A döntési fának legalább annyi levele kell, hogy legyen, hogy az input összes lehetséges permutációja elférjen rajtuk.

12 levélszám ≥ permutációk száma
Most már érezhetjük az összefüggést: A döntési fának legalább annyi levele kell, hogy legyen, hogy az input összes lehetséges permutációja elférjen rajtuk. Tehát: levélszám ≥ permutációk száma 2h ≥ n! log22h ≥ log2(n!) h ≥ log2(n!) Vagyis: Egy összehasonlító rendezés maximális összehasonlítás-száma n elemű input esetén legalább log2(n!). Az állítást ezzel beláttuk.

13 Minimális összehasonlítás-szám különböző n-ekre:
Kiegészítés Minimális összehasonlítás-szám különböző n-ekre: n l := log2(n!) [l] + 1 (ennél nagyobb-egyenlő h) 1 1 2,5850 3 4,5850 5 6,9069 7 9, 21, 61, Már láttuk, hogy 3 elemet lehet rendezni 3 összehasonlítással. Érdemes elgondolkodni azon, hogy hogyan tudunk 4 elemet 5, illetve 5 elemet 7 összehasonlítással rendezni. 6 elem rendezéséhez viszont már 11 összehasonlítás kell. (Ettől még az alsó becslés helytálló.)

14 vége Lócsi Levente


Letölteni ppt "Az összehasonlító rendezések"

Hasonló előadás


Google Hirdetések