Az összehasonlító rendezések

Slides:



Advertisements
Hasonló előadás
Egy szélsőérték feladat és következményei
Advertisements

Ptolemaiosz tétel bizonyítása 1.
Készítette: Kosztyán Zsolt Tibor
Nevezetes algoritmusok
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Programozási tételek, és „négyzetes” rendezések
egy egyszerű példán keresztül
Rendezés lineáris időben (edény rendezések) Arany Zsolt ZDHYXP.
2006. február 17. Valószínűségszámítás és statisztika II. Telefonos feladat Egy kalapban van két korong, az egyiknek mindkét oldala piros, a másiknak.
Matematika feladatlap a 8. évfolyamosok számára
Készítette: Mester Tamás METRABI.ELTE.  Egy bemeneten kapott szöveg(karakter sorozat) méretét csökkenteni, minél kisebb méretűre minél hatékonyabb algoritmussal.
Illeszkedési mátrix Villamosságtani szempontból legfontosabb mátrixreprezentáció. Legyen G egy irányított gráf, n ponton e éllel. Az n x e –es B(G) mátrixot.
Illés Tibor – Hálózati folyamok
Euklidészi gyűrűk Definíció.
Algebrai struktúrák 1.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Algoritmusok és adatszerkezetek 2 Újvári Zsuzsanna.
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
Bernoulli Egyenlőtlenség
Algoritmusok Az algoritmus fogalma:
Egydimenziós tömbök. Deklarálás: var valtozónév:array[kezdőérték..végsőérték]of típus; type típusnév = array [kezdőérték..végsőérték] of típus; var valtozónév:
Gombkötő Attila Lineáris egyenlet.
Készítette: Pető László
Algoritmizálás Göncziné Kapros Katalin humaninformatika.ektf.hu.
Van-e Euler vonal az alábbi gráfban?
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
AVL fák.
A digitális számítás elmélete
A digitális számítás elmélete
A TERMÉSZETTUDOMÁNYOK ALAPJAI 1. Matematika
Eseményalgebra, kombinatorika
1. Univerzális nyelő Csúcsmátrixos ábrázolás esetén a legtöbb gráfalgoritmus futási ideje O(n2) azonban van kivétel. Egy irányított gráf egy csúcsa univerzális.
Edényrendezés - RADIX „vissza” - bináris számokra
„Országos” feladat. Feladat: Egy tetszőleges, színes országokat tartalmazó térképen akar eljutni egy kommandós csapat egy országból egy másikba. Viszont.
Dijkstra algoritmusa Egy csúcsból a többibe vezető legkisebb költségű út megkeresése Az algoritmus működésének leírása és bemutatása LL.
Készülj az érettségire
Nevezetes algoritmusok Beszúrás Van egy n-1 elemű rendezett tömbünk. Be akarunk szúrni egy n-edik elemet. Egyik lehetőség, hogy végigszaladunk a tömbön,
Az F-próba szignifikáns
Előrendezéses edényrendezés – RADIX „vissza”
Utórendezéses edényrendezés – RADIX „előre”
Thalész tétel és alkalmazása
1. feladat Egy 16 m oldalú szabályos háromszög alakú füves rét kerületén valamely csúcsból kiindulva méterenként elültettünk egy répát. Aztán kikötöttük.
Binomiális eloszlás.
A Dijkstra algoritmus.
Programozási alapismeretek 11. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 11.2/ Tartalom  Rendezési.
Edényrendezés Tört számokkal.
Számtani és mértani közép
Edényrendezés. Működés, elvek - Az edényrendezés nem összehasonlító rendezés. - A rendezendő elemeket nem hasonlítjuk össze, hanem a rendezés során az.
Mikroökonómia gyakorlat
Business Mathematics A legrövidebb út.
A MATEMATIKA FELÉPÍTÉSÉNEK ELEMEI
GRÁFOK Definíció: Gráfnak nevezzük véges vagy megszámlálhatóan végtelen sok pont és azokat összekötő szintén véges vagy megszámlálhatóan végtelen sok.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
Horváth Bettina VZSRA6 Feladat: Szemléltesse az edényrendezést.
Programozási alapismeretek 11. előadás
Edényrendezés Név: Pókó Róbert Neptun: OYJPVP. Példa RADIX „előre” algoritmusra d=3 hosszú bináris számokra (r=2) Ekkor egy tömbbel meg lehet oldani a.
Nagy Szilvia 2. Lineáris blokk-kódok II.
Algoritmusok és adatszerkezetek
(Bináris) Kupac (heap) adattípus
„RADIX előre” edényrendezés Adott a háromjegyű bináris számok következő sorozata: 011, 111, 101, 010, 110, 001, 100 Adja meg a tömb tartalmát az egyes.
KÉSZÍTETTE: KOVÁCSICS KRISZTIÁN
HÁLÓZAT Maximális folyam, minimális vágás
PRÜFER KÓD. Fák kódolása számsorozatokkal Prüfer-kód: n csúcsú fa ↔ n-2 db szám Minden szám 1 és n közötti lehet Kölcsönösen egyértelmű: n csúcsú fák.
Mediánok és rendezett minták
Algoritmusok és Adatszerkezetek I.
Algoritmusok Az algoritmus fogalma:
Algoritmusok és Adatszerkezetek I.
Gráfok - 1 Definíció: Irányított gráf (digráf) G=(V,E) rendezett pár.
Algoritmusok és Adatszerkezetek I.
Algoritmusok és Adatszerkezetek I.
Előadás másolata:

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

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

Bizonyítás

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.

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

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

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

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

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)

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.

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.

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.

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,4919 10 21,7911 22 61,0774 62 … 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ó.)

vége Lócsi Levente 2005.03.10.