2015/10/14 13:54 1/16 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://szit.hu/
Last update: 2014/12/06 01:51 Láncolt listák oktatas:programozás:elemi_adatszerkezetek http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek 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; Gráfok http://szit.hu/ Printed on 2015/10/14 13:54
2015/10/14 13:54 3/16 Elemi adatszerkezetek Pontok halmaza, amelyeket vonalakkal kötünk összes. A pontokat csúcsoknak, a vonalakat éleknek nevezzük. SzitWiki - http://szit.hu/
Last update: 2014/12/06 01:51 oktatas:programozás:elemi_adatszerkezetek http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek http://szit.hu/ Printed on 2015/10/14 13:54
2015/10/14 13:54 5/16 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://szit.hu/
Last update: 2014/12/06 01:51 oktatas:programozás:elemi_adatszerkezetek http://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://szit.hu/ Printed on 2015/10/14 13:54
2015/10/14 13:54 7/16 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://szit.hu/
Last update: 2014/12/06 01:51 oktatas:programozás:elemi_adatszerkezetek http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek http://szit.hu/ Printed on 2015/10/14 13:54
2015/10/14 13:54 9/16 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://szit.hu/
Last update: 2014/12/06 01:51 oktatas:programozás:elemi_adatszerkezetek http://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://szit.hu/ Printed on 2015/10/14 13:54
2015/10/14 13:54 11/16 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://szit.hu/
Last update: 2014/12/06 01:51 oktatas:programozás:elemi_adatszerkezetek http://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://szit.hu/ Printed on 2015/10/14 13:54
2015/10/14 13:54 13/16 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://szit.hu/
Last update: 2014/12/06 01:51 oktatas:programozás:elemi_adatszerkezetek http://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://szit.hu/ Printed on 2015/10/14 13:54
2015/10/14 13:54 15/16 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://szit.hu/
Last update: 2014/12/06 01:51 oktatas:programozás:elemi_adatszerkezetek http://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 From: http://szit.hu/ - SzitWiki Permanent link: http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:elemi_adatszerkezetek Last update: 2014/12/06 01:51 http://szit.hu/ Printed on 2015/10/14 13:54