2-3-fák A 2-3-fa egy gyökeres fa az alábbi tulajdonságokkal:

Slides:



Advertisements
Hasonló előadás
Koordináták, függvények
Advertisements

Sor láncolt ábrázolással
Nevezetes algoritmusok
Adatbázis-kezelés.
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
Adatszerkezetek Az adatokat két fő csoportra oszthatjuk: egyszerű és összetett adatok.  Az egyszerű adatot egy érték jellemez, tovább nem bontható. (szám,
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
Illés Tibor – Hálózati folyamok
Benczúr Zsolt VBA gyorstalpaló Benczúr Zsolt
Copyright, 2009 © Szlávi Péter A kupac és a prioritási sor típuskonstrukciók Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
AVL-fa építése.
Adatbázis-kezelés.
KOVÁCS DÁVID. ALAPFOGALMAK Adatbázis: Olyan adatgyűjtemény, amely egy adott feladathoz kapcsolódó adatokat szervezett módon tárolja, és biztosítja az.
Egy feladat megoldásának gondolatmenete. Feladat: Generáljuk véletlen számokat 1 és 6 között, amíg legalább 10 darab egyes és 10 darab hatos nem lesz.
Készítette: Pető László
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ő:
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ő:
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ő:
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ő:
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.
Fák, bináris fák INFOÉRA Ez így 60 perc.
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
DAG topologikus rendezés
Dinamikus fák és utak Készítette: Kovács Péter
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ő:
Microsoft Excel Függvények VII..
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,
Alapszint 2.  Készíts makrót, ami a kijelölt cellákat egybenyitja, a tartalmat vízszintesen és függőlegesen középre igazítja és 12 pontos betűméretűre.
Függvények.
Gráfelmélet: Fák.
Listák, Vermek és Várakozási Sorok. Vermek Def: Egy sajátos lista amelyben minden beszúrási illetve törlési művelet csak a lista egyik végén történik.
Hierarchikus lista Kétféle értelemezése van:
Gráf Szélességi bejárás/keresés algoritmusa
Fák.
Adatbázis kezelés. Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei – egy meghatározott tulajdonságuk alapján – összetartozónak tekinthetők.
Adatbázis-kezelés.
Készítette: Hanics Anikó. Az algoritmus elve: Kezdetben legyen n db kék fa, azaz a gráf minden csúcsa egy-egy (egy pontból álló) kék fa, és legyen minden.
A feladat : Építsünk AVL-fát a következő adatokból:100,170,74,81,136,185,150,122,52,190,144 (Az AVL-fa olyan bináris keresőfa, amelynek minden csúcsára.
Adatbázisok tervezése, megvalósítása és menedzselése
BFák Kiegyensúlyozott keresőfák Hatékonyság: O(lg(n)), de a nagy fokszám miatt igen alacsony szorzótényezővel Alkalmazás: Lemezen tárolt adatbázisoknál.
BINÁRIS FA Definició: A fa olyanösszefüggő gráf, amelyben nincs kör
Példa kettő-három fa felépítésére - törlés művelet Készítette : Krizsai Petra
Gráfok ábrázolása teljesen láncoltan
Bináris kereső fák Itterátorok.
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Algoritmusok és adatszerkezetek
Fájlszervezés Adatbázisok tervezése, megvalósítása és menedzselése.
(Bináris) Kupac (heap) adattípus
Szélességi bejárás. Véges gráf összes csúcsának bejárása a kezdőcsúcstól való távolságuk szerinti növekvő sorrendben Egy csúcsot egyszer járunk be Egyenlő.
Statisztikai és logikai függvények
Huffman tömörítés.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
Adatbázisok tervezése, megvalósítása és menedzselése
BFák Kiegyensúlyozott keresőfák
II. konzultáció Analízis Sorozatok Egyváltozós valós függvények I.
Dinamikus adatszerkezetek
Piros-fekete fák Beszúrás, ill. törléskor a fa elveszítheti az egyensúlyát. A piros-fekete fák: az egyensúly megtartását biztosítják. +1 bit információ.
Algoritmusok és Adatszerkezetek I.
1.3 Relációk Def. (rendezett pár) (a1 , a2) := {{a1} , {a1 , a2 }} .
Adatbázis-kezelés 2. Relációs adatbázisok.
Bináris kereső fák Definíció: A bináris kereső fa egy bináris fa,
Informatikai gyakorlatok 11. évfolyam
Depth First Search Backtracking
Algoritmusok és Adatszerkezetek I.
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Gráfok - 1 Definíció: Irányított gráf (digráf) G=(V,E) rendezett pár.
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Előadás másolata:

2-3-fák A 2-3-fa egy gyökeres fa az alábbi tulajdonságokkal: A rekordok a fa leveleiben helyezkednek el, a kulcs értéke szerint balról jobbra növekvő sorrendben. Egy levél egy rekordot tartalmaz. Minden belső (nem levél) csúcsnak 2 vagy három gyereke van. A csúcs szerkezete: m1,k1,m2, vagy m1,k1,m2, k2,m3. k1 < k2. Az m1 mutató szerinti részfában minden kulcs kisebb, mint k1, az m2 mutató szerinti részfa legkisebb kulcsa k1, és minden kulcs ott kisebb, mint k2 (ha van a csúcsban), az m3 mutató (ha van) szerinti részfában a legkisebb kulcs k2. A fa levelei a gyökértől egyforma távolságra vannak. 2019.05.03. 9:27:35 ADAT-08

2-3-fák Tétel: Ha a 2-3-fának k szintje van, akkor a levelek száma legalább 2k-1. Fordítva: ha a tárolt rekordok száma n, akkor k log2n +1 Keresés 2-3-fában: A gyökértől elindulva a belső csúcsokban 1 vagy 2 összehasonlítás után tovább lehet menni egy szinttel lejjebb. A műveletigény (log n). 2019.05.03. 9:27:35 ADAT-08

2-3-fák – Beszúrás-1 J K beszúrása J K C J C J K J I beszúrása I J C J A beszúrása C J C J A C J 2019.05.03. 9:27:35 ADAT-08

2-3-fák – Beszúrás-2 H C J H beszúrása A C J C J A C H J K H K C J 2019.05.03. 9:27:35 ADAT-08

2-3-fák – Törlés-1 J K C törlése K C J K J K J K J törlése K C J K C K K törlése J C J K C J 2019.05.03. 9:27:35 ADAT-08

2-3-fák – Törlés-2 K P J törlése J L N C C J K L N L P K N C C K L N 2019.05.03. 9:27:35 ADAT-08

2-3-fák – Törlés-3 K P K törlése J M A J K M P J M A J M 2019.05.03. 9:27:35 ADAT-08

B-fák Definíció: A B-fa egy olyan gyökeres fa, amely rendelkezik a következő tulajdonságokkal: Minden csúcsnak a következő mezői vannak: A. n[x] az x csúcsban tárolt kulcsok darabszáma B. az n[x] darab kulcs (nemcsökkenő sorrendben) kulcs1[x]  kulcs2[x]    kulcsn[x][x] C. levél[x] egy logikai változó, melynek az értéke IGAZ, ha x a levél és HAMIS, ha x egy belső csúcs. Ha x belső csúcs, akkor tartalmazza a c1[x], c2[x], ,cn[x]+1[x] mutatókat, melyek az x gyerekeire mutatnak. A levél csúcsoknak nincsenek gyerekei és így e mezők definiálatlanok. A kulcsi[x] értékek meghatározzák a kulcsértékek azon tartományait, amelyekbe a részfák kulcsai esnek. Ha ki egy olyan kulcs, amelyik a ci[x] gyökerű részfában van, akkor k1  kulcs1[x]  k2  kulcs2[x]    kn[x]  kulcsn[x][x]  kn[x]+1 Minden levélnek azonos a mélysége, ez az érték a fa magassága 2019.05.03. 9:27:35 ADAT-08

B-fák A csúcsokban található kulcsok darabszámára adott egy alsó és egy felső korlát. Ezeket a korlátokat egy rögzített t egész számmal (t 2 ) lehet kifejezni, és ezt a számot a B-fa minimális fokszámának nevezzük. A. Ezért minden nem gyökér csúcsnak legalább t-1 kulcsa van. Minden belső csúcsnak legalább t gyereke van. Ha a fa nem üres, akkor a gyökércsúcsnak legalább egy kulcsának kell lennie. B. Minden csúcsnak legfeljebb 2t-1 kulcsa lehet. Tehát egy belső csúcsnak legfeljebb 2t gyereke lehet. Azt mondjuk, hogy egy csúcs telített, ha pontosan 2t-1 kulcsa van. Ha t=2, akkor a B-fa neve 2-3-4 fa. Tétel: Ha n 1, és T egy olyan n-kulcsos B-fa, amelynek magassága h és minimális fokszáma t 2, akkor h logt((n+1)/2). 2019.05.03. 9:27:35 ADAT-08

B-fák – műveletek -1 B_FÁBAN_KERES(x,k) i 1 WHILE i n[x] és k>kulcsi[x] DO i i+1 IF i n[x] és k=kulcsi[x] THEN RETURN (x,i) IF levél[x] THEN RETURN( NIL) ELSE LEMEZRŐL_OLVAS(ci[x]) RETURN(B_FÁBAN_KERES(ci[x],k) O(t logt n) Az egész fában keresés: B_FÁBAN_KERES(gyökér[T],k) 2019.05.03. 9:27:35 ADAT-08

B-fák – műveletek - 2 B_FÁBA_BESZÚR(T,k) r gyökér[T] IF n[r]=2t-1 THEN s CSÚCSOT_ELHELYEZ( ) gyökér[T]  s levél[s]  HAMIS n[s]  0 c1[s]  r B_FA_VÁGÁS_GYEREK(s,1,r) NEM_TELITETT_B_FÁBA_BESZÚR(s,k) ELSE NEM_TELITETT_B_FÁBA_BESZÚR(s,k) O(t logt n) CSÚCSOT_ELHELYEZ = lefoglalja az új csúcsnak a lemez egy blokkját B_FA_VÁGÁS_GYEREK(x,i,y) = Az y=ci[x] telített csúcsot két részre vágja és x-et (nem telített belső csúcs) úgy alakítja át, hogy eggyel több gyereke lesz. 2019.05.03. 9:27:35 ADAT-08

B-fák – műveletek - Beszúrás A kezdeti fa G M P X A C D E J K N O R S T U V Y Z B beszúrása G M P X A B C D E J K N O R S T U V Y Z Q beszúrása G M P T X A B C D E J K N O Q R S U V Y Z 2019.05.03. 9:27:35 ADAT-08

B-fák – műveletek - Beszúrás L beszúrása P G M T X A B C D E J K L N O Q R S U V Y Z F beszúrása P C G M T X A B D E F J K L N O Q R S U V Y Z 2019.05.03. 9:27:35 ADAT-08

B-fák – műveletek - Törlés A kezdeti fa P C G M T X A B D E F J K L N O Q R S U V Y Z F törlése P C G M T X A B D E J K L N O Q R S U V Y Z 2019.05.03. 9:27:35 ADAT-08

B-fák – műveletek - Törlés M törlése P C G L T X A B D E J K N O Q R S U V Y Z G törlése P C L T X A B D E J K N O Q R S U V Y Z 2019.05.03. 9:27:35 ADAT-08

B-fák – műveletek - Törlés D törlése C L P T X A B E J K N O Q R S U V Y Z B törlése E L P T X A C J K N O Q R S U V Y Z 2019.05.03. 9:27:35 ADAT-08