Célkitűzés
A kurzus egyik célja azoknak az adatstruktúráknak és algoritmusoknak a megismertetésére a hallgatókkal, amelyek informatikában széles körben - így a térinformatikában egyaránt - alapvetőnek számítanak. A szemeszter második fele kitekintést nyújt a speciálisan a térinformatika területén alkalmazott eljárásokra és adatszerkezetekre.
Számonkérés és értékelés
A hallgatók a tárgyból a félév során három beadandó feladatot készítenek el, amelyek értékelése ötfokozatú skálán (1-5) történik.
Az aláírás feltétele mindhárom beadandó feladat legalább elégséges szintre (2) történő teljesítése. A gyakorlati jegy az így szerzett 3 érdemjegy számtani közepe.
A megoldásokat a NEPTUN tanulmányi rendszerben kell feltölteni a kiírt határidőig.
Az előadás kollokviummal zárul, amely szóbeli vizsga formájában kerül lebonyolításra.
Irodalomjegyzék
- Fekete István et al.: Algoritmusok és adatszerkezetek
- Rónyai L., Ivanyos G., Szabó R.: Algoritmusok
- Elek István: Adatbázisok, térképek, információs rendszerek
- Orgován Krisztina: Konvex- és mozgó objektumok indexelése
- Elek István: Topologikus térbeli adatstruktúrák
- T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein: Introduction to Algorithms
- T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein: Új algoritmusok
- P. Rigaux, M. O. Scholl, A. Voisard: Spatial Databases: With Application to GIS
- H. Samet: The Design and Analysis of Spatial Data Structures
- M. de Berg, O. Cheong, M. van Kreveld, M. Overmars: Computational Geometry
- A. Levitin: Introduction to the Design and Analysis of Algorithms
Python tananyagok
- Mark Summerfield: Python 3 programozás, Kiskapu Kiadó, 2009
- Eric Matthes: Python Crash Course, No Starch Press, 2015
Előadás tematika
- Alapvető adatszerkezetek és műveleteik
- Elemi algoritmusok
- Összegzés, számlálás, maximum kiválasztás, lineáris keresés, bináris keresés
- Feltételes változatok
- Elméleti segédanyag
- Rendezések, műveletigény
- Fa adatstruktúrák
- Gráfok ábrázolási formái és bejárásai
- Gráfalgoritmusok I.: minimális költségű utak
- Gráfalgoritmusok II.: minimális költségű feszítőfák
- Térbeli indexelés
- Térbeli indexelési eljárások
- Grid indexek: 4.1 fejezet
- kd-fa: 4.2 fejezet
- Adaptív kd-fa: 4.3 fejezet
- Negyedelő-fa: 4.7 fejezet
- R-fa: 5.1 fejezet
- Térbeli indexelési eljárások
- Geometriai eredetű algoritmusok
- Jarvis's march algoritmus
Introduction to Algorithms / Új algoritmusok, 33.3 fejezet (ld. irodalomjegyzékben) - Graham's scan algoritmus
Introduction to Algorithms / Új algoritmusok, 33.3 fejezet (ld. irodalomjegyzékben) - Quickhull algoritmus
Introduction to the Design and Analysis of Algorithms, 5.5 fejezet (ld. irodalomjegyzékben) - Chan algoritmusa
- Jarvis's march algoritmus
- Klaszterezés, osztályozás, szegmentálás algoritmusai
Vizsga
Gyakorlati tematika
- Python alapismeretek
- Elemi műveletek, elágazások, hibakezelés
- Iteráció, kollekciók
- Függvények
- Elemi algoritmusok
- Rendező algoritmusok
- Komplex adatszerkezetek
- Táblázatos adatok kezelése
- Skaláris adatok vizualizációja
- Vektoros téradatok olvasása és feldolgozása
- Raszteres téradatok olvasása és feldolgozása
- Gráfalgoritmusok
- Térbeli indexelés
- Konvex-burok algoritmusok
- Klaszterező algoritmusok