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 0. alaptétele (magyarázat) LL.

Hasonló előadás


Az előadások a következő témára: "Az összehasonlító rendezések 0. alaptétele (magyarázat) LL."— 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 log 2 (n!).

3 Bizonyítás

4 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 > BB > A

6 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 ? CA ? C A ? BA ? CB ? AB ? C A < BA > B B < C B > C A < C A > C ABC BAC ACB BACBCA ABC ACB CAB BAC BCACBA A < BA < CA > CB < AB < CB > C

7 ABC A ? B B ? CA ? C A ? BA ? CB ? AB ? C A < BA > B B < C B > C A < C A > C ABC BAC ACB BACBCA ABC ACB CAB BAC BCACBA A < BA < CA > CB < AB < CB > C 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.)

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

9 Minket most a rendezés maximális összehasonlítás- száma és az input mérete közötti kapcsolat érdekel. 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 2 h levele van. (Egy teljesnek pont 2 h ) 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 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 2 h ≥ n! log 2 2 h ≥ log 2 (n!) h ≥ log 2 (n!) Vagyis: Egy összehasonlító rendezés maximális összehasonlítás-száma n elemű input esetén legalább log 2 (n!). Az állítást ezzel beláttuk.

13 Minimális összehasonlítás-szám különböző n-ekre: nl := log 2 (n!)[l] + 1 (ennél nagyobb-egyenlő h) , , , , , , … Kiegészítés 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 Lócsi Levente


Letölteni ppt "Az összehasonlító rendezések 0. alaptétele (magyarázat) LL."

Hasonló előadás


Google Hirdetések