Algoritmusok és Adatszerkezetek II.
|
|
- Anna Mészárosné
- 8 évvel ezelőtt
- Látták:
Átírás
1 Algoritmusok és Adatszerkezetek II. előadás
2 Felelős tanszék: Számítógépes algoritmusok és mesterséges intelligencia tanszék Nappali tagozaton: Előadás: heti 2 óra / 5 kredit. Teljesítés módja: Kollokvium. Gyakorlat: heti óra / 0 kredit. Teljesítés módja: Aláírás. A kurzus felvételének előfeltételei : Algoritmusok és adatszerkezetek I., Megoldás szisztematikus keresése visszalépéssel (pénzváltás, n királynő). Megoldás szisztematikus keresése elágazás-korlátozással (pénzváltás, ütemezés). Tördelőtáblák (hasítótáblák). Kiegyensúlyozott keresőfák. AVL fák. Piros-fekete fák. Az RHalmaz adattípus megvalósítása ugrólistával (Skiplist). B-fák. Diszjunkt halmazok kezelése, az UnioHolvan adattípus. Geometriai algoritmusok. Amortizációs költségelemzés. Binomiális kupacok. Az egyesíthető prioritási sor megvalósítása Fibonacci-kupaccal. Mintaillesztés; a Knuth-Morris-Pratt algoritmus. Számelméleti algoritmusok, nyilvános kulcsú titkosítás. Közelítő algoritmusok.
3 Ajánlott irodalom: [] T. H. Cormen, C. E. Leiserson, R.L. Rivest: Algoritmusok, Műszaki Könyvkiadó, [2] T. H. Cormen, C. E. Leiserson, R.L. Rivest, C. Stein: Új algoritmusok, Scolar Kiadó, [3] T. Ottman, P. Widmayer: Algoritmen und Datenstrukturen, Wissenschaftsverlag, 990 [4] E. Knuth: A számitógépprogramozás művészete, 3. Kötet, Műszaki Könyvkiadó, 990. [5] A. V. Aho, J. E. Hopcroft, J. D. Ullman: Számítógép-algoritmusok tervezése és analízise,műszaki Könyvkiadó, 982. [6] G. Gonnet, R. Baeza-Yates: Handbook of algorithms and data structures. In Pascal and C., Addison-Wesley. 99. [7] R. Sedgewick: Algoritms in C++, Addison-Wesley. 99. [8] E. Horowitz, S. Shani: Fundamentals of Computer Algorithms, Computer Science Press, 998. [9] Adonyi Róbert: Adatstruktúrák és algoritmusok (letölthető jegyzet)
4 A kurzus teljesítésének feltételei: Évközi számonkérés. a) Gyakorlaton teljesítendő 0 rövid írásbeli dolgozat a 2., 3., 4., 6., 7., 8., 9. és. gyakorlaton. Elérhető maximális pontszám: 40 Teljesítendő minimális pontszám: 4 b) Gyakorlaton teljesítendő 2 írásbeli dolgozat az 5. és 0. gyakorlaton. Elérhető maximális pontszám: 30/dolgozat Teljesítendő minimális pontszám: 0 Elérhető maximális pontszám (a+b): 00 Teljesítendő minimális pontszám (a+b): 35
5 A kurzus teljesítésének feltételei: Kollokvium Elérhető maximális pontszám: 00. A kollokvium 3 részből áll: A. 5 kérdés a kurzus anyagát lefedő témakörökből. Elérhető maximális pontszám: 40 Teljesítendő minimális pontszám: 0 B. Teljesen kidolgozandó tétel. Elérhető maximális pontszám: 30 Teljesítendő minimális pontszám: 0 C. Gyakorlati feladatok megoldása. Elérhető maximális pontszám: 30 Teljesítendő minimális pontszám: 0 Érdemjegy jeles (5) jó (4) közepes (3) elégséges (2) 0-99 elégtelen ()
6 Megjegyzések. Aki az. feltételt nem teljesíti, az a vizsgaidõszak. hetében javító dolgozatot írhat. A hallgató csak akkor jelentkezhet kollokviumra, ha a javító dolgozattal megszerezhetõ max. 50 pontból min. 25 pontot teljesít. A javító dolgozattal szerzett pont nem számít be sem az. részbe, sem az összpontszámba. Aki a dolgozatok írása közben nem megengedett segédeszközt használ, vagy ennek gyanuja felmerül, az a következõ vizsgákon írásbeli vizsga helyett szóbeli vizsga letételére kötelezhetõ, vagy az írásbeli vizsgáját szóban kell megvédenie. Az előadások látogatása kötelező. Akinek az igazolatlan hiányzása meghaladja a 3 alkalmat, az nem vizsgázhat! Csak előre jelzett hiányzás igazolható, vagy baleseti jegyzőkönyv/korházi pecsét szükséges!
7 Motiváció PTI BSC Záróvizsga tételek: Algoritmusok és adatszerkezetek I.. Gráf algoritmusok (mélységi és széltében keresés, erősen összefüggő komponensek, minimális feszítőfák, legrövidebb utak). 2. Probléma megoldási módszerek (dinamikus programozás, mohó stratégia). Algoritmusok és adatszerkezetek II. 3. Keresőfák (AVL-fák, Piros-fekete fák, B-fák). 4. Geometriai alapalgoritmusok (pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése). Algoritmusok tervezése, hatékony adatszerkezetek működésének ismerete
8 Szakmai gyakorlat Németországban Fraunhofer Institute for Integrated Circuits IIS Nordostpark Nuremberg Germany Erasmus ösztöndíj 300 EUR Fraunhofer ösztöndíj 850 EUR Szállás, étkezés biztosítva Elsősorban Programtervező Informatikus vagy Mérnökinformatikus szakkal
9 Adatszerkezetek Halmaz, Rhalmaz, Függvény absztrakt adatszerkezet, Rendezett minta Prioritási sor, Egyesíthető prioritási sor absztrakt adatszerkezet Halmazerdő adatszerkezet
10 Bináris keresőfa fázunk... [2]
11 Bináris keresőfa
12 Bináris keresőfa (-,) (,4) (4,6) (6,9) (9,3) (3,7) (7,20) (20,2) (2,22) (22,24) (24,27) (27,29) (29,3) (3,37) (37,43) (43, )
13 Fapont tárolása első megközelítés, a gyakorlatban nem így tároljuk! struct fapont{ int key, value ; fapont bal, jobb, apa ; apa key balfiu value jobbfiu
14 Bináris fa tárolása első megközelítés, a gyakorlatban nem így van! public class fa { int elemszam ; struct fapont{ int key, value ; fapont bal, jobb, apa ; fapont nil, gyoker ; void fa() { fapont q = new fapont() ; nil=q ; gyoker=q ; elemszam=0 ; boolean beszur(int x, int v) { nil nil gyoker k v beszur(5, 8) 5 8 k v gyoker
15 Keresés keresőfában (-,) (,4) (4,6) (6,9) (9,3) (3,7) (7,20) (20,2) (2,22) (22,24) (24,27) (27,29) (29,3) (3,37) (37,43) (43, )
16 Keresés keresőfában (-,) (,4) (4,6) (6,9) (9,3) (3,7) (7,20) (20,2) (2,22) (22,24) (24,27) (27,29) (29,3) (3,37) (37,43) (43, )
17 fapont keres(int x) { fapont p=gyoker ; nil.key=x ; while (p.key!=x) p=x<p.key?p.bal:p.jobb ; return p; gyökér 2 [3] 254 q=keres(6) ; nil 6
18 Beszúrás keresőfába (-,) (,4) (4,6) (6,9) (9,3) (3,7) (7,20) (20,2) (2,22) (22,24) (24,27) (27,29) (29,3) (3,37) (37,43) (43, ) (24,26) (26,27)
19 nil nil nil
20 boolean beszur(int x, int v) { fapont p,papa ; p=gyoker ; papa=nil ; while (p!=nil && p.key!=x) { papa=p ; if (x<p.key) p=p.bal; else p=p.jobb; if (p==nil) { fapont ujpont = new fapont(); if (gyoker==p) gyoker=ujpont ; nil ujpont.key=x ; ujpont.value=v ; ujpont.bal=nil; ujpont.jobb=nil; ujpont.apa=papa; if (papa!=nil) { if (x>papa.key) papa.jobb=ujpont; else papa.bal=ujpont; elemszam++ ; return true ; else { p.value=v ; beszur(3,9) ; return false ; nil ????? 5 8????? gyoker
21 Elem rákövetkezője
22 p rákövetkezője p p p
23 p rákövetkezője fapont kovetkezo(fapont p) { if (p.jobb!=nil) { //ha van jobb részfa p=p.jobb ; //akkor a jobb részfa while (p.bal!=nil) p=p.bal;//bal szélső eleme return p; else { // ha nincs jobb fiú while (p.apa!=nil) { // amíg van apa if (p.apa.bal==p) // ha p bal gyerek return p.apa; // p apja a rákövetkező p=p.apa ; // megyünk felfelé p-vel ; return nil ; // nincs rákövetkező
24 Törlés bináris keresőfából p q
25 2 void torol(fapont p) { if (p.jobb!=nil) { fapont q=kovetkezo(p) ; p.key=q.key ; p.value=q.value ; q.apa.bal=q.jobb ; q.jobb.apa=q.apa ; delete q ; else {... p q
26 void torol(fapont p) { if (p.jobb!=nil) { fapont q=kovetkezo(p) ; p.key=q.key ; p.value=q.value ; q.apa.bal=q.jobb ; q.jobb.apa=q.apa ; delete q ; else { if (p.apa.jobb==p) p.apa.jobb=p.bal ; else p.apa.bal=p.bal ; p.bal.apa=p.apa ; delete p ; p
27 Elem törlése példa
28 Bináris fák tárolása csúcsonkét 2 pointer és egy bit, mely azt jelöli, hogy bal, vagy jobb gyerek. pointer bal gyerek, ha létezik jobb gyerek, ha csak az létezik. nil: ha egyáltalán nincs gyereke. 2. pointer ha ő maga bal gyerek, akkor a testvérre mutat, ha az létezik, különben a szülőre. ha jobb gyerek: a szülőre mutat. gyökérben nil
29 Fapont tárolása struct fapont<k,v>{ <K> key ; <V> value ; fapont fiu, tespa ; boolean bal ;
30 Bináris keresőfák jellemzői p gyökerű részfa belső pontjainak száma int s(fapont p) { if (p==nil) return 0 ; return +s(p.bal)+s(p.jobb) ; p gyökerű részfa magassága int h(fapont p) { if (p==nil) return 0 ; return +Math.max(h(p.bal),h(p.jobb)) ;
31 Véletlen építésű bináris keresőfa Adott n egymástól különböző kulcs, melyekből bináris keresőfát építünk úgy, hogy a kulcsokat valamilyen sorrendben egymás után beszúrjuk a kezdetben üres fába. Ha itt minden sorrend, vagyis az n kulcsnak mind az n! permutációja egyformán valószínű, akkor a kapott fát véletlen építésű bináris keresőfának nevezzük. Tétel: Egy n különböző kulcsot tartalmazó véletlen építésű bináris keresőfa várható magassága O(log2n). [2]
32 Optimális bináris keresőfa Adott kulcsoknak egy K=(k,...,kn) sorozata Minden ki kulcshoz ismert annak pi előfordulási valószínűsége Minden di intervallumhoz ismert annak qi előfordulási valószínűsége, hogy arra az intervallumra keresünk (sikertelen keresésekhez) Optimális bináris keresőfa építhető (pl. dinamikus programozás módszerével) Építés: O(n 2 ) [2] 34-32
33 Bináris fa inorder bejárása function bejar(p){ if (p.bal!=nil) bejar(p.bal) ; muvelet(p) ; if (p.jobb!=nil) bejar(p.jobb) ;
34 5 function bejar(p){ if (p.bal!=nil) bejar(p.bal) ; muvelet(p) ; if (p.jobb!=nil) bejar(p.jobb) ; 3 7 function bejar(p){ if (p.bal!=nil) bejar(p.bal) ; muvelet(p) ; if (p.jobb!=nil) bejar(p.jobb) ; function bejar(p){ if (p.bal!=nil) bejar(p.bal) ; muvelet(p) ; if (p.jobb!=nil) bejar(p.jobb) ; rang(p)
35 Rendezettminta-fa Minden p ponthoz tároljuk p gyökerű fa belső pontjainak számát (méretét) Adott rangú elem keresése - T[r] Adott elem rangjának meghatározása [2] Egyéb bővítési lehetőségek (pl. intervallumfák) [2]
36 Példa
37 Adott rangú elem keresése rmkeres(p,x) { r=p.bal.meret+ ; if (x==r) return p ; if (x<r) return rmkeres(p.bal,x) ; else return rmkeres(p.jobb,x-r) ;
38 Elem rangjának meghatározása rmrang(p) { r=p.bal.meret+ ; y=x ; while (y!=gyoker) { if (y==y.apa.jobb) r+=y.apa.bal.meret+; y=y.apa ; return r ;
39 Méret információ fenntartása beszjav(p) { while (p!=gyoker) { p=p.apa; p.meret++ ; torljav(p) { while (p!=gyoker) { p=p.apa; p.meret-- ;
40 Fapont tárolása első megközelítés, a gyakorlatban nem így tároljuk! struct fapont{ int key, v, meret ; fapont bal, jobb, apa ; apa key balfiu v meret jobbfiu
41 Köszönöm a figyelmet! Referenciák [] T. H. Cormen, C. E. Leiserson, R.L. Rivest: Algoritmusok, Műszaki Könyvkiadó, [2] T. H. Cormen, C. E. Leiserson, R.L. Rivest, C. Stein: Új algoritmusok, Scolar Kiadó, [3] T. Ottman, P. Widmayer: Algoritmen und Datenstrukturen, Wissenschaftsverlag, 990
Algoritmusok és Adatszerkezetek II. előadás
Algoritmusok és Adatszerkezetek II. előadás Felelős tanszék: Számítógépes algoritmusok és mesterséges intelligencia tanszék Nappali tagozaton: Előadás: heti 2 óra / 3 kredit. Teljesítés módja: Kollokvium.
Algoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. előadás I404e-1 H[10-11:30] BE-002-3 minden héten Szegedi Tudományegyetem - Természettudományi és Informatikai Kar - Informatikai Tanszékcsoport - Számítógépes Algoritmusok
Algoritmusok és adatszerkezetek II.
Szegedi Tudományegyetem - Természettudományi és Informatikai Kar - Informatikai Tanszékcsoport - Számítógépes Algoritmusok és Mesterséges Intelligencia Tanszék - Németh Tamás Algoritmusok és adatszerkezetek
Példa 30 14, 22 55,
Piros-Fekete fák 0 Példa 14, 22 55, 77 0 14 55 22 77 Piros-Fekete fák A piros-fekete fa olyan bináris keresőfa, amelynek minden pontja egy extra bit információt tartalmaz, ez a pont színe, amelynek értékei:
Rendezettminta-fa [2] [2]
Rendezettminta-fa Minden p ponthoz tároljuk a p gyökerű fa belső pontjainak számát (méretét) Adott elem rangja: az elem sorszáma (sorrendben hányadik az adatszekezetben) Adott rangú elem keresése - T[r]
Ugrólisták. RSL Insert Example. insert(22) with 3 flips. Runtime?
Ugrólisták Ugrólisták Ugrólisták Ugrólisták RSL Insert Example insert(22) with 3 flips 13 8 29 20 10 23 19 11 2 13 22 8 29 20 10 23 19 11 2 Runtime? Ugrólisták Empirical analysis http://www.inf.u-szeged.hu/~tnemeth/alga2/eloadasok/skiplists.pdf
Tuesday, March 6, 12. Hasító táblázatok
Hasító táblázatok Halmaz adattípus U (kulcsuniverzum) K (aktuális kulcsok) Függvény adattípus U (univerzum) ÉT (értelmezési tartomány) ÉK (érték készlet) Milyen az univerzum? Közvetlen címzésű táblázatok
7 7, ,22 13,22 13, ,28
Általános keresőfák 7 7,13 13 13 7 20 7 20,22 13,22 13,22 7 20 25 7 20 25,28 Általános keresőfa Az általános keresőfa olyan absztrakt adatszerkezet, amely fa és minden cellájában nem csak egy (adat), hanem
Algoritmusok és adatszerkezetek gyakorlat 07
Algoritmusok és adatszerkezetek gyakorlat 0 Keresőfák Fák Fa: összefüggő, körmentes gráf, melyre igaz, hogy: - (Általában) egy gyökér csúcsa van, melynek 0 vagy több részfája van - Pontosan egy út vezet
Adatszerkezet - műveletek
Adatszerkezet - műveletek adatszerkezet létrehozása adat felvétele adat keresése adat módosítása adat törlése elemszám visszaadása minden adat törlése (üresít) adatszerkezet felszámolása (megszüntet) +
Önszervező bináris keresőfák
Önszervező bináris keresőfák Vágható-egyesíthető halmaz adattípus H={2,5,7,11,23,45,75} Vag(H,23) Egyesit(H1,H2) H1= {2,5,7,11} H2= {23,45,75} Vágás A keresési útvonal mentén feldaraboljuk a fát, majd
Algoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 5. Vágható-egyesíthető Halmaz adattípus megvalósítása önszervező
Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]
Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.
Elemi adatszerkezetek
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
Algoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 3. Kiegyensúlyozott keresőfák A T tulajdonság magasság-egyensúlyozó
Módosítható Prioritási sor Binomiális kupaccal. Wednesday, March 21, 12
Módosítható Prioritási sor Binomiális kupaccal modosit(x,k) {! if (k>x.kulcs) {!! x.kulcs=k ;!! y=x!! z=x.apa ;!! while(z!=nil and y.kulcs
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
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 Bináris keresőfa, kupac Katona Gyula Y. (BME SZIT) A számítástudomány
Számláló rendezés. Példa
Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással való összehasonlítása alapján működik leírja egy bináris döntési fa. Az algoritmus által a
ÖNSZERVEZŐ BINÁRIS KERESŐFÁK HATÉKONYSÁGA
ÖNSZERVEZŐ BINÁRIS KERESŐFÁK HATÉKONYSÁGA Tétel: Ha a halmazok ábrázolására önszervező bináris keresőfát használunk, akkor minden α 1,...,α m műveletsor, ahol i {1..m}: α i {keres;bovit;torol;vag;egyesit}
Adatszerkezetek 7a. Dr. IványiPéter
Adatszerkezetek 7a. Dr. IványiPéter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér () Nincsennek hurkok!!! 2 Bináris fák Azokat a
1. ábra. Egy rekurzív preorder bejárás. Egy másik rekurzív preorder bejárás
Preorder ejárás Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban lévő adatokra.
Algoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 6. Ugrólista (Skiplist) Definíció. Olyan adatszerkezet, amelyre
4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Elemi algoritmusok ismerete
A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș-Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika 1.3 Intézet Magyar Matematika és Informatika 1.4 Szakterület
Haladó rendezések. PPT 2007/2008 tavasz.
Haladó rendezések szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Alapvető összehasonlító rendezések Shell rendezés Kupacrendezés Leszámláló rendezés Radix rendezés Edényrendezés
Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával)
Adatszerkezetek I. 7. előadás (Horváth Gyula anyagai felhasználásával) Bináris fa A fa (bináris fa) rekurzív adatszerkezet: BinFa:= Fa := ÜresFa Rekord(Elem,BinFa,BinFa) ÜresFa Rekord(Elem,Fák) 2/37 Bináris
6. előadás. Kiegyensúlyozottság, AVL-fa, piros-fekete fa. Adatszerkezetek és algoritmusok előadás március 6.
6. előadás, AVL-fa, piros-fekete fa Adatszerkezetek és algoritmusok előadás 2018. március 6.,, és Debreceni Egyetem Informatikai Kar 6.1 Általános tudnivalók Ajánlott irodalom: Thomas H. Cormen, Charles
B-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.
B-fa Felépítés, alapvető műveletek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar B-fa Felépítése Beszúrás művelete Törlés
... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)
6. Fabejáró algoritmusok Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban
A kurzus teljesítésének feltételei. Az I404 kódú kurzus teljesítéséhez meg kell oldani egy otthoni feladatot, határidő április 30.
Évközi teljesítés A kurzus teljesítéséek feltételei Két gyakorlato egírt ZH, az elérhető 00 potból 50 potot kell eléri. Aki e teljesíti a feltételt a vizsgaidőszak első hetébe a vizsgára egedésért írhat
Adatszerkezetek 1. előadás
Adatszerkezetek 1. előadás Irodalom: Lipschutz: Adatszerkezetek Morvay, Sebők: Számítógépes adatkezelés Cormen, Leiserson, Rives, Stein: Új algoritmusok http://it.inf.unideb.hu/~halasz http://it.inf.unideb.hu/adatszerk
Amortizációs költségelemzés
Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük
10. előadás Speciális többágú fák
10. előadás Adatszerkezetek és algoritmusok előadás 2018. április 17., és Debreceni Egyetem Informatikai Kar 10.1 A többágú fák kezelésére nincsenek általános elvek, implementációjuk elsősorban alkalmazásfüggő.
Kupac adatszerkezet. 1. ábra.
Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.
4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Feladatok kijelentéseinek megértése
A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika 1.3 Intézet Magyar Matematika és Informatika 1.4 Szakterület
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.
Kiválasztás kupaccal A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.
Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból
ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév
Hierarchikus adatszerkezetek
5. előadás Hierarchikus adatszerkezetek A hierarchikus adatszerkezet olyan < A, R > rendezett pár, amelynél van egy kitüntetett r A gyökérelem úgy, hogy: 1. r nem lehet végpont, azaz a A esetén R(a,r)
Egyesíthető prioritási sor
Egyesíthető prioritási sor Értékhalmaz: EPriSor = S E, E-n értelmezett a lineáris rendezési reláció. Műveletek: S,S 1,S 2 : EPriSor, x : E {Igaz} Letesit(S, ) {S = /0} {S = S} Megszuntet(S) {} {S = S}
file:///d:/okt/ad/jegyzet/ad1/b+fa.html
1 / 5 2016. 11. 30. 12:58 B+ fák CSci 340: Database & Web systems Home Syllabus Readings Assignments Tests Links Computer Science Hendrix College Az alábbiakban Dr. Carl Burch B+-trees című Internetes
Approximációs algoritmusok
Approximációs algoritmusok Nehéz (pl. NP teljes) problémák optimális megoldásának meghatározására nem tudunk (garantáltan) polinom idejű algoritmust adni. Lehetőségek: -exponenciális futási idejű algoritmus
Adatbázis rendszerek Info MÁTRIX
Adatbázis rendszerek 2. 0. Info MÁTRIX 28/1 B IT v: 2019.02.01 MAN Info Mátrix 28/2 Szándék nyilatkozat Nem akarom megtölteni a koponyákat fölösleges adatokkal, célom az ott ébredező gondolatok helyes
Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák
Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák Gelle Kitti 2017. 10. 25. Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák 2017. 10. 25. 1 / 20 Hasítótáblák T 0 h(k 2)
FÉLÉVI KÖVETELMÉNYEK 2010/2011. tanév II. félév INFORMATIKA SZAK
FÉLÉVI KÖVETELMÉNYEK INFORMATIKA SZAK Tantárgy Tagozat Heti óraszám Követelmény Ea. Lab. Gy. VILLAMOSSÁGTAN. Nappali 3 0 1 aláírás+vizsga Az aláírás megszerzésének feltételei: - A hiányzás nem haladhatja
Fák 2009.04.06. 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
Fák szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Rekurzív típusok, fa adatszerkezet Bináris keresőfa, bejárások Bináris keresőfa, módosítás B-fa Témakörök 2 Fa (Tree): csomópontok
Adatszerkezetek I. 8. előadás. (Horváth Gyula anyagai felhasználásával)
Adatszerkezetek I. 8. előadás (Horváth Gyula anyagai felhasználásával) Kereső- és rendezőfák Közös tulajdonságok: A gyökérelem (vagy kulcsértéke) nagyobb vagy egyenlő minden tőle balra levő elemnél. A
Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor
Gráfok 2. Legrövidebb utak, feszítőfák előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Legrövidebb utak keresése Minimális feszítőfa keresése Gráfok 2
Adatszerkezetek és algoritmusok
2010. január 8. Bevezet El z órák anyagainak áttekintése Ismétlés Adatszerkezetek osztályozása Sor, Verem, Lengyelforma Statikus, tömbös reprezentáció Dinamikus, láncolt reprezentáció Láncolt lista Lassú
Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése
Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése Készítette: Bognár Gergő Témavezető: Veszprémi Anna Eötvös Loránd Tudományegyetem Informatikai Kar Algoritmusok és Alkalmazásaik Tanszék Budapest,
Biomatematikai Tanszék
BIOSTATISZTIKA DENTISTRY Biomatematikai Tanszék Tantárgy: BIOSTATISZTIKA Év, szemeszter: 1. évfolyam - 1. félév Óraszám: Szeminárium: 28 Kód: FOBST03F1 ECTS Kredit: 2 A tárgyat oktató intézet: Biofizikai
Bináris keresőfák. Adat : M Elemtip és Elemtip-on értelmezett egy lineáris rendezési reláció,
Bináris keresőfák Az F = (M,R,Adat) absztrakt adatszerkezetet bináris keresőfának nevezzük, ha F bináris fa, R = {bal, jobb, apa}, bal, jobb, apa : M M, Adat : M Elemtip és Elemtip-on értelmezett egy lineáris
Egyesíthető prioritási sor
Egyesíthető prioritási sor Értékhalmaz: EPriSor = S E, E-n értelmezett a lineáris rendezési reláció. Műveletek: S,S 1,S 2 : EPriSor, x : E {Igaz} Letesit(S, ) {S = /0} {S = S} Megszuntet(S) {} {S = S}
10. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 28.
10. tétel Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 28. 2-3 fák Hatékony keresőfa-konstrukció. Ez is fa, de a binárisnál annyival bonyolultabb hogy egy nem-levél csúcsnak 2 vagy 3 fia
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.
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. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet 8. előadás
Bináris keresőfa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor
Bináris keresőfa Felépítés, alapvető műveletek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Bináris keresőfa Rekurzív
Algoritmuselmélet 2. előadás
Algoritmuselmélet 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés
Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek
Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1
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ás alapjai II. (8. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT Speciális adatszerkezetek A helyes adatábrázolás választása, a helyes adatszerkezet
KÖVETELMÉNYEK 2017/ félév. Informatika II.
Tantárgy neve Informatika II. Tantárgy kódja TAB1110 Meghirdetés féléve 4. Kreditpont 1 Heti kontakt óraszám (elm. + gyak.) 0 + 1 Félévi követelmény Előfeltétel (tantárgyi kód) TAB1109 Tantárgyfelelős
1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007
Hálózatok II 2007 1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok 1 Az előadáshoz Előadás: Szerda 17:00 18:30 Gyakorlat: nincs Vizsga írásbeli Honlap: http://people.inf.elte.hu/lukovszki/courses/g/07nwii
A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:
A programozás alapjai 1 Dinamikus adatszerkezetek:. előadás Híradástechnikai Tanszék Dinamikus adatszerkezetek: Adott építőelemekből, adott szabályok szerint felépített, de nem rögzített méretű adatszerkezetek.
Korlátozás és szétválasztás elve. ADAGOLO adattípus
Korlátozás és szétválasztás elve ADAGOLO adattípus Értékhalmaz: E Adagolo : A E Műveletek: A : Adagolo, x : E {Igaz} Letesit(A) {A = /0} {A = A} Megszuntet(A) {Igaz} {A = A} Uresit(A) {A = /0} {A = A}
Rendezések. Összehasonlító rendezések
Rendezések Összehasonlító rendezések Remdezés - Alapfeladat: Egy A nevű N elemű sorozat elemeinek nagyság szerinti sorrendbe rendezése - Feltételezzük: o A sorozat elemei olyanok, amelyekre a >, relációk
Programozás alapjai II. (7. ea) C++
Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1
Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan
Tartalomjegyzék. Köszönetnyilvánítás. 1. Az alapok 1
Köszönetnyilvánítás Bevezetés Kinek szól a könyv? Elvárt előismeretek A könyv témája A könyv használata A megközelítés alapelvei Törekedjünk az egyszerűségre! Ne optimalizáljunk előre! Felhasználói interfészek
Döntési módszerek Tantárgyi útmutató
Gazdálkodási és menedzsment alapszak Nappali tagozat Döntési módszerek Tantárgyi útmutató 2018/19. tanév II. félév 1 Tantárgy megnevezése Tantárgy jellege/típusa: Döntési módszerek. D Kontaktórák száma/hét:
9. előadás. A táblázat. A táblázatról általában, soros, önátrendező, rendezett és kulcstranszformációs táblázat
. előadás ról általában, soros, önátrendező, rendezett és kulcstranszformációs Adatszerkezetek és algoritmusok előadás 0. április. ról általában,, és Debreceni Egyetem Informatikai Kar. Általános tudnivalók
Feladat. Ternáris fa. Típusspecikáció. Reprezentáció. Absztrakt implementáció. Érdi Gerg EAF II. 4/3.
Feladat djuk meg, hogy egy ternáris fa INORDER bejárás szerint sorozatba f zött értékei között mekkora a leghosszabb csupa pozitív számot tartalmazó részsorozat. Ternáris fa Típusspecikáció z alaphalmaz
Operációkutatás II. Tantárgyi útmutató
Módszertani Intézeti Tanszék Gazdinfo Nappali Operációkutatás II. Tantárgyi útmutató 2015/16 tanév II. félév 1/4 Tantárgy megnevezése: Operációkutatás II. Tantárgy kódja: OPKT2KOMEMM Tanterv szerinti óraszám:
A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai
A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási
KÖVETELMÉNYRENDSZER NÖVÉNYTERMESZTÉSTANBÓL 2013/2014. tanév 1. félévében
KÖVETELMÉNYRENDSZER NÖVÉNYTERMESZTÉSTANBÓL 201/2014. tanév 1. félévében Oktatott tantárgyak: kredit SMKNZ201AN Takarmánynövény termesztés 2+ óra 5 BSc Állattenyésztő Mérnöki Szak II. SMKNZ202XN Növénytermesztéstani
file:///d:/apa/okt/ad/jegyzet/ad1/b+fa.html
1 / 6 2018.01.20. 23:23 B+ fák CSci 340: Database & Web systems Home Syllabus Readings Assignments Tests Links Computer Science Hendrix College Az alábbiakban Dr. Carl Burch B+-trees című Internetes tananyagának
Rekurzió. Horváth Gyula. horvath@inf.elte.hu
1. ábra. Rekurzió Horváth Gyula horvath@inf.elte.hu 1. Feladat: Sorbaállítások száma Hány féleképpen lehet sorbaállítani az osztály tanulóit? Bemenet: a tanulók n száma. Kimenet: ahány félekeppen az n
Információs Technológia
Információs Technológia Rekurzió, Fa adatszerkezet Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 18. Rekurzió Rekurzió
Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.
Algoritmuselmélet Mélységi keresés és alkalmazásai Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 9. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
Programozás II. előadás
Nem összehasonlító rendezések Nem összehasonlító rendezések Programozás II. előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Programozás II. 2 Rendezés
Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán
Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala
A tanulmányok alatti vizsgák helyi rendje
A tanulmányok alatti vizsgák helyi rendje Ezt a szabályozást kell alkalmazni valamennyi, a Teleki Blanka Közgazdasági Szakközépiskolában megtartott nem állami vizsga megszervezésekor. A tanulmányok alatti
Buborékrendezés: Hanoi Tornyai: Asszimptótikus fv.ek: Láncolt ábrázolás: For ciklussal:
Buborékrendezés: For ciklussal: Hanoi Tornyai: Asszimptótikus fv.ek: Láncolt ábr.: ha p egy mutató típusú változó akkor p^ az általa mutatott adatelem, p^.adat;p^.mut. A semmibe mutató ponter a NIL.Szabad
INFORMATIKA javítókulcs 2016
INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.
A félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
10. Gráf absztrakt adattípus, gráfok ábrázolása
Gráf absztrakt adattípus, gráfok ábrázolása Definíciók Irányítatlan gráf:g = (V, E) E rendezetlen {a,b,a,b V párok halmaza Irányított gráf:g = (V,E) E rendezett (a,b) párok halmaza; E V V Multigráf: G
Térinformatikai adatszerkezetek
Térinformatikai adatszerkezetek 1. Pont Egy többdimenziós pont reprezentálható sokféle módon. A választott reprezentáció függ attól, hogy milyen alkalmazás során akarjuk használni, és milyen típusú műveleteket
A gráffogalom fejlődése
A gráffogalom fejlődése ELTE Informatikai Kar, Doktori Iskola, Budapest Batthyány Lajos Gimnázium, Nagykanizsa erdosne@blg.hu a prezentáció kézirata elérhető: http://people.inf.elte.hu/szlavi/infodidact16/manuscripts/ena.pdf
7. BINÁRIS FÁK 7.1. A bináris fa absztrakt adattípus 7.2. A bináris fa absztrakt adatszerkezet
7. BINÁRIS FÁK Az előző fejezetekben már találkoztunk bináris fákkal. Ezt a központi fontosságú adatszerkezetet most vezetjük be a saját helyén és az általános fák szerepét szűkítve, csak a bináris fát
TANTÁRGYI ADATLAP. 2.7 A tantárgy jellege DI
TANTÁRGYI ADATLAP 1. Programadatok 1.1 Intézmény Sapientia, Erdélyi Magyar Tudományegyetem 1.2 Kar Műszaki és Humántudományok 1.3 Intézet Matematika Informatika 1.4 Szak Informatika 1.5 Tanulmányi típus
17. A 2-3 fák és B-fák. 2-3 fák
17. A 2-3 fák és B-fák 2-3 fák Fontos jelentősége, hogy belőlük fejlődtek ki a B-fák. Def.: Minden belső csúcsnak 2 vagy 3 gyermeke van. A levelek egy szinten helyezkednek el. Az adatrekordok/kulcsok csak
Adatbázis rendszerek Gy: Algoritmusok C-ben
Adatbázis rendszerek 1. 1. Gy: Algoritmusok C-ben 53/1 B ITv: MAN 2015.09.08 Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás Gyorsrendezés 53/2 Összegzés
Számítógép hálózatok, osztott rendszerek 2009
Számítógép hálózatok, osztott rendszerek 2009 1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok 1 Az előadáshoz Előadás: Hétfő 10:00 12:00 óra Gyakorlat: Hétfő 14:00-16:00 óra Honlap: http://people.inf.elte.hu/lukovszki/courses/0910nwmsc
Fa (Tree): csomópontok (nodes) halmaza, amelyeket élek (edges) kötnek össze, és teljesülnek az alábbi feltételek:
Fák szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Rekurzív típusok, fa adatszerkezet Bináris keresőfa, bejárások Bináris keresőfa, módosítás Piros-fekete fa B-fa 2 Fa
Adatszerkezetek 2. Dr. Iványi Péter
Adatszerkezetek 2. Dr. Iványi Péter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér (root) Nincsennek hurkok!!! 2 Bináris fák Azokat
Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája
Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból
angolul: greedy algorithms, románul: algoritmi greedy
Mohó algoritmusok angolul: greedy algorithms, románul: algoritmi greedy 1. feladat. Gazdaságos telefonhálózat építése Bizonyos városok között lehet direkt telefonkapcsolatot kiépíteni, pl. x és y város
Döntési módszerek Tantárgyi útmutató
Gazdálkodási és menedzsment alapszak Nappali tagozat Döntési módszerek Tantárgyi útmutató 2015/16 tanév II. félév 1 Tantárgy megnevezése Tantárgy jellege/típusa: Döntési módszerek. D Kontaktórák száma/hét:
TANTÁRGYI ÚTMUTATÓ. Nemzetközi gazdaságtan. tanulmányokhoz
II. évfolyam BA TANTÁRGYI ÚTMUTATÓ Nemzetközi gazdaságtan tanulmányokhoz TÁVOKTATÁS Tanév (2014/2015) 1. félév A KURZUS ALAPADATAI Tárgy megnevezése: Nemzetközi gazdaságtan Tanszék: Közgazdasági Tanszéki
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.
Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék
Programozás Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. február 11. Tantárgy célja, szükséges ismeretek Tantárgy célja,
MINŐSÉGÜGY. ANYAGMÉRNÖK BSC KÉPZÉS SZAKMAI TÖRZSANYAG (nappali munkarendben) TANTÁRGYI KOMMUNIKÁCIÓS DOSSZIÉ
MINŐSÉGÜGY ANYAGMÉRNÖK BSC KÉPZÉS SZAKMAI TÖRZSANYAG (nappali munkarendben) TANTÁRGYI KOMMUNIKÁCIÓS DOSSZIÉ MISKOLCI EGYETEM MŰSZAKI ANYAGTUDOMÁNYI KAR ENERGIA- ÉS MINŐSÉGÜGYI INTÉZET Miskolc, 2017/18.
Ionogram releváns területeinek meghatározása és elemzésének automatikus megvalósítása
Ionogram releváns területeinek meghatározása és elemzésének automatikus megvalósítása Előadó: Pieler Gergely, MSc hallgató, Nyugat-magyarországi Egyetem Konzulens: Bencsik Gergely, PhD hallgató, Nyugat-magyarországi
A tanulmányok alatti vizsgák helyi rendje
A tanulmányok alatti vizsgák helyi rendje Ezt a szabályozást kell alkalmazni valamennyi, a Teleki Blanka Közgazdasági Szakközépiskolában megtartott nem állami vizsga megszervezésekor. A tanulmányok alatti