Elemi adatszerkezetek

Hasonló dokumentumok
Elemi adatszerkezetek

Adatszerkezetek 7a. Dr. IványiPéter

C# nyelvhez kapcsolódó programozási feladatok

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:

Fák Témakörök. Fa definíciója. Rekurzív típusok, fa adatszerkezet Bináris keresőfa, bejárások Bináris keresőfa, módosítás B-fa

Hierarchikus adatszerkezetek

Adatszerkezetek és algoritmusok

Algoritmusok és adatszerkezetek gyakorlat 07

2019/02/11 10:01 1/10 Logika

Algoritmizálási feladatok

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

Tartalomjegyzék. Köszönetnyilvánítás. 1. Az alapok 1

félstatikus adatszerkezetek: verem, várakozási sor, hasítótábla dinamikus adatszerkezetek: lineáris lista, fa, hálózat

7. BINÁRIS FÁK 7.1. A bináris fa absztrakt adattípus 7.2. A bináris fa absztrakt adatszerkezet

10. előadás Speciális többágú fák

Ugrólisták. RSL Insert Example. insert(22) with 3 flips. Runtime?

Bináris keresőfa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor

Adatszerkezetek 2. Dr. Iványi Péter

Fa (Tree): csomópontok (nodes) halmaza, amelyeket élek (edges) kötnek össze, és teljesülnek az alábbi feltételek:

Információs Technológia

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]

6. előadás. Kiegyensúlyozottság, AVL-fa, piros-fekete fa. Adatszerkezetek és algoritmusok előadás március 6.

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

Kupac adatszerkezet. 1. ábra.

2016/11/29 11:13 1/6 Digitális átvitel

III. Adatszerkezetek és algoritmusok

Körkörös listák. fej. utolsó. utolsó. fej

Példa 30 14, 22 55,

... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)

Algoritmusok és adatszerkezetek II.

Más szavakkal formálisan:, ahol olyan egész szám, hogy. Más szavakkal formálisan:, ahol olyan egész szám, hogy.

Adatszerkezetek Bevezetés Adatszerkezet Adatszerkezet típusok Műveletek Bonyolultság

7 7, ,22 13,22 13, ,28

EGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.

1. ábra. Egy rekurzív preorder bejárás. Egy másik rekurzív preorder bejárás

Tuesday, March 6, 12. Hasító táblázatok

Információs Technológia

Programozás alapjai II. (7. ea) C++

Adatszerkezetek 1. Dr. Iványi Péter

Rendezettminta-fa [2] [2]

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Programozási nyelvek Java

Adatszerkezetek 1. előadás

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Hierarchikus adatszerkezetek

Absztrakt adatstruktúrák A bináris fák

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

Adatszerkezetek és algoritmusok

Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával)

Bevezetés a Programozásba II 12. előadás. Adatszerkezetek alkalmazása (Standard Template Library)

Programozási tételek feladatok

3/1. tétel: Linearis adatszerkezetek és műveleteik

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus adatszerkezetek. Dinamikus adatszerkezetek. Önhivatkozó struktúrák. Önhivatkozó struktúrák

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

Algoritmusok és adatszerkezetek II.

III. Gráfok. 1. Irányítatlan gráfok:

Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Keresőfák és nevezetes algoritmusaikat szemléltető program

2016/11/27 08:42 1/11 Kriptográfia. Titkosítás rejtjelezés és adatrejtés. Rejtjelezés, sifrírozás angolosan: cipher, crypt.

A MAXIMUM-KUPACOL eljárás helyreállítja az A[i] elemre a kupactulajdonságot. Az elemet süllyeszti cserékkel mindaddig, amíg a tulajdonság sérül.

Önszervező bináris keresőfák

Programozás I. C nyelv

Haladó rendezések. PPT 2007/2008 tavasz.

LibreOffice Makró Basic

Számláló rendezés. Példa

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

Algoritmusok és adatszerkezetek II.

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget

Feladat. Ternáris fa. Típusspecikáció. Reprezentáció. Absztrakt implementáció. Érdi Gerg EAF II. 4/3.

Java és web programozás

Rendezések. Összehasonlító rendezések

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Generikus Típusok, Kollekciók

Adatszerkezetek I. 8. előadás. (Horváth Gyula anyagai felhasználásával)

Gyakorló feladatok ZH-ra

- Levelek: operandusok - Csomópontok: operátorok. Fenti kifejezés: (x+ (y 10)) * (6 / z) Bináris Keresőfa (BST) Példa bináris keresőfára.

Programozási Paradigmák. és Technikák

Például számokból álló, egyszeresen láncolt lista felépítéséhez az alábbi struktúra definíciót használhatjuk:

Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák

Algoritmusok és adatszerkezetek II.

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 6.

file:///d:/okt/ad/jegyzet/ad1/b+fa.html

Algoritmusok és Adatszerkezetek II. előadás

Alaplap. Slot. Bővítőkártyák. Csatolható tárolók. Portok. < Hardver

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Diszkrét matematika 2. estis képzés

Számítógép hálózatok, osztott rendszerek 2009

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

2. Visszalépéses stratégia

Adatszerkezet - műveletek

Fejlett programozási nyelvek C++ Iterátorok

.Net adatstruktúrák. Készítette: Major Péter

Generikus osztályok, gyűjtemények és algoritmusok

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 7.

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK

Programozási technológia

Átírás:

2017/12/16 17:22 1/18 Elemi adatszerkezetek < Programozás Elemi adatszerkezetek Szerző: Sallai András Copyright Sallai András, 2011, 2014 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu Vermek A verem, angolul stack. A veremben több számot tárolhatunk, de mindig csak az utoljára betett számot vehetjük ki. Az alábbiakban egy tömbön megvalósított verem sematikus ábráját látjuk. Itt az utoljára betett szám az 50-es. Ezt a számot vagyunk képesek kivenni. Működése alapján angolosan LIFO-nak nevezzük az adatszerkezetet; a Last In First Out szavakból. Sorok A sorok vagy angolul queue. Az elsőként betett elem kerül ki elsőnek a sorból. A működése alapján angolosan ezt FIFO adatszerkezetnek nevezzük; A First In First Out szavakból. SzitWiki - http://www.szit.hu/

Last update: 2017/10/02 20:22 oktatas:programozás:elemi_adatszerkezetek http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek Láncolt listák Az objektumok lineáris sorrendben követik egymást. Egy elem leírása Java nyelven: class Elem { Object adat; Elem kovetkezo; C nyelven: struct telem { Object adat; struct telem *kovetkezo; Egy elem leírása Java nyelven class Elem { Object adat; Elem elozo; Elem kovetkezo; http://www.szit.hu/ Printed on 2017/12/16 17:22

2017/12/16 17:22 3/18 Elemi adatszerkezetek Gráfok Pontok halmaza, amelyeket vonalakkal kötünk összes. A pontokat csúcsoknak, a vonalakat éleknek nevezzük. SzitWiki - http://www.szit.hu/

Last update: 2017/10/02 20:22 oktatas:programozás:elemi_adatszerkezetek http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek http://www.szit.hu/ Printed on 2017/12/16 17:22

2017/12/16 17:22 5/18 Elemi adatszerkezetek Fák A fákról A fák előnye a listákkal szemben, hogy gyorsabb a bejárásuk. A gráfelmélet alapján a fa: körmentes (két elem között csak egyetlen út létezik) összefüggő egyszerű gráfok A számítástechnikában általában gyökeres fákkal dolgozunk. Ezt figyelembe véve a meghatározása következő lehet: Csomópontok halmaza, amit élek kötnek össze, a következő feltételekkel: létezik egy kitüntetett csomópont a gyökér minden a gyökértől különböző elemet egy éllel kötünk a szülőjéhez bármely nem gyökér elemtől a szülőkön keresztül, eljuthatunk a gyökérig A közbenső elemeket ha gyökérként jelöljük meg, az alatta elhelyezkedő elemekkel részfát alkotnak. SzitWiki - http://www.szit.hu/

Last update: 2017/10/02 20:22 oktatas:programozás:elemi_adatszerkezetek http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek A fa magasság a fa szintjeinek száma. A bináris fa Minden elemnek legfeljebb két gyermekeleme van. http://www.szit.hu/ Printed on 2017/12/16 17:22

2017/12/16 17:22 7/18 Elemi adatszerkezetek Nem bináris Előfordulhat kettőnél több leágazás. Kiegyensúlyozott fák Kiegyensúlyozott fáról beszélünk, ha az egyes szinteken a részfák magasságágának ingadozása nem nagyobb egynél. SzitWiki - http://www.szit.hu/

Last update: 2017/10/02 20:22 oktatas:programozás:elemi_adatszerkezetek http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek http://www.szit.hu/ Printed on 2017/12/16 17:22

2017/12/16 17:22 9/18 Elemi adatszerkezetek Bináris keresőfák Bináris keresőfáról beszélünk, ha minden szülőre igaz, hogy balra a nála kisebb elemek helyezkednek el, jobb a nála nagyobb elemek. SzitWiki - http://www.szit.hu/

Last update: 2017/10/02 20:22 oktatas:programozás:elemi_adatszerkezetek http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek Bináris kereső fa építése: elhelyezzük az első elemet gyökérként ha következő elem kisebb mint az előző, akkor a gyökérelemtől balra helyezzük el ellenben jobbra helyezzük el A már bevitt elemeket végigjárva, ha csomópontnál kisebb akkor balra megyünk ellenben jobbra Műveletek fákkal beszúrás törlés http://www.szit.hu/ Printed on 2017/12/16 17:22

2017/12/16 17:22 11/18 Elemi adatszerkezetek Egy elem leírása Java nyelven class Elem { Object adat; Elem szulo; Elem bal; Elem jobb; A fa bejárása A fák bejárásának lehetséges módjai: szélességi bejárás mélységi bejárás SzitWiki - http://www.szit.hu/

Last update: 2017/10/02 20:22 oktatas:programozás:elemi_adatszerkezetek http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek Mélységi bejárás háromféle sorrendje az informatikában: preorder bejárás inorder bejárás postorder bejárás Preorder bejárás a gyökér elem majd a baloldali részfa preorder bejárása jobboldali részfa preorder bejárása http://www.szit.hu/ Printed on 2017/12/16 17:22

2017/12/16 17:22 13/18 Elemi adatszerkezetek Preorder bejárás java nyelven: static void preorder(elem elem) { if(elem!= null) { System.out.println(elem.adat); preorder(elem.bal); preorder(elem.jobb); Inorder bejárás baloldal részfa inorder bejárása gyökér elem jobboldali részfa inorder bejárása SzitWiki - http://www.szit.hu/

Last update: 2017/10/02 20:22 oktatas:programozás:elemi_adatszerkezetek http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek Java megvalósítás: static void inorder(elem elem) { if(elem!= null) { inorder(elem.bal); System.out.printf("%c ", elem.adat); inorder(elem.jobb); Posztorder bejárás baloldali részfa posztorder bejárása jobboldali részfa posztorder bejárása végül a gyökér elem http://www.szit.hu/ Printed on 2017/12/16 17:22

2017/12/16 17:22 15/18 Elemi adatszerkezetek Java megvalósítás: static void postorder(elem elem) { if(elem!= null) { postorder(elem.bal); postorder(elem.jobb); System.out.printf("%c ", elem.adat); Szélességi bejárás SzitWiki - http://www.szit.hu/

Last update: 2017/10/02 20:22 oktatas:programozás:elemi_adatszerkezetek http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek Irodalom Könyvek Thomas H. Cormen, Charles E. Leierson, Ronald L. Rivest, Clifford Stein: Új algoritmusok Linkek http://infoc.eet.bme.hu/ea12.php http://www.dkrmg.sulinet.hu/~lutter/szakkor/ http://hu.wikibooks.org/wiki/programoz%c3%a1s/algoritmusok Függelék Láncolt lista példa http://www.szit.hu/ Printed on 2017/12/16 17:22

2017/12/16 17:22 17/18 Elemi adatszerkezetek Program01.java class Szam { Integer szam; Szam kov; public class Mutatok { public static void main(string[] args) { Szam elso = new Szam(); Szam akt = new Szam(); elso=akt; Szam uj; uj = new Szam(); uj.szam = 27; akt.kov = uj; akt = uj; uj = new Szam(); uj.szam = 45; akt.kov = uj; akt = uj; uj = new Szam(); uj.szam = 82; akt.kov = uj; akt = uj; //Kiíratás akt = elso.kov; System.out.println("Kiíratás"); do { System.out.println(akt.szam); akt = akt.kov; while (akt!= null); SzitWiki - http://www.szit.hu/

Last update: 2017/10/02 20:22 oktatas:programozás:elemi_adatszerkezetek http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek From: http://www.szit.hu/ - SzitWiki Permanent link: http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek Last update: 2017/10/02 20:22 http://www.szit.hu/ Printed on 2017/12/16 17:22