Fák.

Slides:



Advertisements
Hasonló előadás
Nevezetes algoritmusok
Advertisements

HIKGHB Németh Gábor LUF9NV Simon Attila. A programozás alapjai előadás Híradástechnikai Tanszék.
AVL-fa építése.
Erősen összefüggő komponensek meghatározása
Szélességi bejárás Párhuzamosítása.
Gráf Szélességi bejárás
Programozás alapjai.
Minimax és problémaredukció, egyszerű példák INCK431 Előadó: Dr. Nagy Benedek Norbert Gyakorlatvezető: Kovács Zita 2011/2012. II. félév A MESTERSÉGES INTELLIGENCIA.
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:
Nat Pedellus Informatika 8. osztály óra.
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.
Számoljuk meg rekurzív függvénnyel egy bináris fa leveleit!
Gráf szélességi bejárása. Alapfogalmak G = (V,E)irányított, véges, nem üres gráf d (s,u)két csúcs távolsága lút hossza, élek száma Qsor adatszerkezet.
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ő:
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,
Gráf szélességi bejárása
Készítette: Lakos Péter.  Adott egy élsúlyozott, véges gráf  Negatív élsúlyokat nem tartalmaz  Lehet irányított vagy irányítatlan  Továbbá adott egy.
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.
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
A REKORD TIPUS Páll Boglárka. Ismétlés: Feladat Készítsünk kimutatást a XI.B osztály tanulóiról. Minden tanuló esetén a következő adatokat tartjuk nyilván:
Egyszerű gráfok ábrázolása Pascalban:
Gráfelmélet: Fák.
Listák, Vermek és Várakozási Sorok
Hierarchikus adatszerkezetek
Hierarchikus lista Kétféle értelemezése van:
Tömbök és programozási tételek
I276 Antal János Benjamin 12. osztály Nyíregyháza, Széchenyi I. Közg. Szki. Huffman kódolás.
Rekordok Dinamikus tárkezelés és pointerek Dinamikusan láncolt listák
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.
BINÁRIS FA Definició: A fa olyanösszefüggő gráf, amelyben nincs kör
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus 2. Előadás tartalma 1. Elemi adatok és adatszerkezetek (struktúrák)‏ 2. Az.
Példa kettő-három fa felépítésére - törlés művelet Készítette : Krizsai Petra
Pole (array of...).  Zložený datový typ na ukladanie viacerých premených  Zápis: var meno_pola : array [ konce intervala ] of základný typ ; Základné.
Gráfok ábrázolása teljesen láncoltan
Nat Pedellus Free Pascal Elágazások..
SZÉLESSÉGI BEJÁRÁS Pap Imre DVX468. A bejárás Meglátogatjuk az első csúcsot, majd ennek a csúcsnak az összes szomszédját. Aztán ezen szomszédok összes.
Free pascal feladatok
Bináris kereső fák Itterátorok.
Fák, bináris fák INFOÉRA Ez így 60 perc.
Gráf szélességi bejárása. Cél Az algoritmus célja az, hogy bejárjuk egy véges gráf összes csúcsát és kiírjuk őket a kezdőcsúcstól való távolságuk szerint.
Algoritmusok és adatszerkezetek
Szélességi bejárás Gráf-algoritmusok Algoritmusok és adatszerkezetek II. Gergály Gábor WZBNCH1.
Excel programozás (makró)
(Bináris) Kupac (heap) adattípus
Gráf Szélességi bejárás Készítette: Giligor Dávid Neptun : HSYGGS.
V 1.0 Szabó Zsolt, Óbudai Egyetem, Programozás II. Gráfok Dijkstra algoritmus Kruskal algoritmus.
Huffman tömörítés.
BFák Kiegyensúlyozott keresőfák
Logikai programozás 6..
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.
Bináris kereső fák Definíció: A bináris kereső fa egy bináris fa,
Depth First Search Backtracking
Algoritmusok és Adatszerkezetek I.
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Dijkstra algoritmusa: legrövidebb utak
Dijkstra algoritmusa: legrövidebb utak
Gráfok - 1 Definíció: Irányított gráf (digráf) G=(V,E) rendezett pár.
Dijkstra algoritmusa: legrövidebb utak
Gráfalgoritmusok G=(V,E) gráf ábrázolása
2-3-fák A 2-3-fa egy gyökeres fa az alábbi tulajdonságokkal:
Előadás másolata:

Fák

Fák A fa egy olyan gráf, amelyik összefüggő és nem létezik benne kör. C D E F L K M H I J N P Q G

Fák A csúcs gyökér. F-nek A a szülője, K, L, M a gyerekei. Levelek (olyan csúcsok, melyeknek nincs gyermekük): B, C, H, I, P, Q, K, L, M, N. Testvérek (ugyanaz a szülőjük): pl. K, L, M. A fa mélysége = a gyökértől a levelekhez vezető leghosszabb út A Ebben az esetben: 3 (A, E, J, Q) B C D E F G H I J K L M N P Q

Adott a következő ősvektor: 0, 5, 8, 1, 1, 2, 3, 6 Ősvektor: Az ősvektor egy olyan tömb, mely a csomópontok ősét (apját) tárolja. A gyökér ősének megfelelő érték 0. Adott a következő ősvektor: 0, 5, 8, 1, 1, 2, 3, 6 1 4 5 2 6 8 3 7

Bináris fa Olyan fa, melyben egyetlen csúcsnak sincs kettőnél több gyereke: Példa bináris fára: részfaj gyökér részfab 1 2 3 4 5 6 7 9 8 Deklarálás Pascalban: type binfa=^adat; adat=record inf=byte; {char/string} bal, jobb:binfa; end;

A levelek kiírása 1 2 3 4 5 6 7 8 9 Procedure level(l:binfa); Begin if (l^.jobb=nil) and (l^.bal=nil) then write(l^.inf) else if l^.jobb=nil then level(l^.bal) else if l^.bal=nil then level(l^.jobb) else begin level(l^.bal); level(l^.jobb); end; End; 1 2 3 4 5 6 7 8 9

A legbaloldalibb (legjobboldalibb) csomópont meghatározása Procedure bal(l:binfa); Begin If l^.bal=nil then write(l^.inf) else bal(l^.bal); End; 1 2 3 4 5 6 Procedure jobb(l:binfa); Begin If l^.jobb=nil then write(l^.inf) else jobb(l^.jobb); End; 7 8 9

Bináris fák bejárása Azt nevezzük preorder bejárásnak amikor kiírjuk a gyökeret majd rendre bejárjuk a bal- majd a jobb részfát: 1 2 4 7 5 3 6 8 9 Azt nevezzük inorder bejárásnak amikor bejárjuk előbb a bal részfát, majd kiírjuk a gyökeret ezután bejárjuk a jobb részfát: 4 7 2 5 1 3 8 6 9 Azt nevezzük postorder bejárásnak, amikor rendre bejárjuk a bal- majd a jobb részfát és ezután kiírjuk a gyökeret: 7 4 5 2 8 9 6 3 1 1 2 3 4 5 6 7 8 9

Bináris keresőfa Bináris keresőfa: Minden X csúcsra teljesül, hogy a baloldali részfa minden csúcsában lévő információ kisebb, mint az X-ben levő, a jobboldali részfában pedig minden érték nagyobb vagy egyenlő. Szúrjunk be egy új csúcsot pl. az 5-öst Keresőfa: 6, 8, 2, 1, 4, 3, csúcsok estén 6 2 8 5 1 4 3 Példa keresőfára

Keresés Keresés (Find): a T fa azon csomópontjának értékét írja ki, amelynek információja X, vagy nil, ha nincs. Keressük meg a 2-es csúcsot. procedure Find(X: integer; T: binfa) ; Begin If T=nil then write(X,’ nem talalhato’) else If T^.inf =x then write(X,’-et megtalaltam’) else If X < T^.inf then Find(X, T^.bal) Else If X > T^.inf then Find(X, T^.jobb) End; (keressük a 2-est). 6 2 8 1 4 3 A keresőfáknál a legkisebb elem a legbaloldalibb csúcs, és a legnagyobb a legjobboldalibb csúcs értéke.

Törlés Törlés (Delete): Először megkeressük a csúcsot. Ha: a csúcs egy levél, akkor azonnal törölhető a csúcsnak egy gyereke van, akkor a szülője pointerének átírása után a csúcs törölhető a csúcsnak két gyereke van, akkor megkeressük a bal részfájában a legjobboldalibb csúcsot, ami a törlendő csúcs helyére kerül 6 8 2 4 1 3

Töröljük a 3-as csúcsot 6 2 8 1 4 3

Töröljük a 4-es csúcsot 6 2 8 1 4 3

Töröljük a 2-es csúcsot 6 2 8 1 4 3

Köszönöm a figyelmet Miklós Zoltán