Algoritmusok és adatszerkezetek I.
Az alábbi információk tájékoztató jellegűek. A hatályos követelmények az egyetemi tanrendi keresőben találhatók.
Algoritmusok és adatszerkezetek I.
kódja/kódjai: I304e-1, IL304e-1
Felelős tanszék: Számítógépes algoritmusok és mesterséges intelligencia tanszék
Nappali tagozaton:
Előadás: heti 2 óra / 7 kredit. Teljesítés módja: Kollokvium.
Gyakorlat: heti 1 óra / 0 kredit. Teljesítés módja: Aláírás.
Levelező tagozaton
Előadás: összesen 12 óra / 7 kredit. Teljesítés módja: Kollokvium.
Gyakorlat: összesen 6 óra / 0 kredit. Teljesítés módja: Aláírás.
A kurzus felvételének előfeltételei: Diszkrét matematika, Programozás I.
Előadás anyaga: www.inf.u-szeged.hu/~cimreh/alg.htm, /pub/alg/I
Windows munkaállomásokon: P:\alg\I könyvtárban,
Távoli elérés sftp-vel: ftp.cab.u-szeged.hu
Tematika:
A kurzus célja olyan ismeretek elsajátítása, készségek és
képességek kifejlesztése, amelyek birtokában a hallgató képes alapvető
számítási problémák megoldására korrekt és hatékony algoritmust tervezni,
helyességét bizonyítani, hatékonyságát elemezni és képes az algoritmust
hatékonyan megvalósítani. A képzési cél eléréséhez a hallgató
- Ismerje
meg, hogyan lehet számítási probléma helyességét kifejezni, és a
helyességet bizonyítani.
- Ismerje
meg a legfontosabb módszereket algoritmusok futási idejének és
tárigényének kifejezésére és elemzésére.
- Ismerje
meg a legfontosabb absztrakt adattípusokat, és képes legyen azokat
felhasználni hatékony algoritmusok készítésére.
- Ismerje
meg az alapvető adatszerkezeteket, képes legyen adott probléma hatékony
megoldásához szükséges adatszerkezeteket megtervezni és megvalósítani.
- Ismerje
meg az alapvető számítási problémák hatékony megoldását adó algoritmusokat.
- Sajátítsa
el a legfontosabb probléma-megoldási módszereket (stratégiákat).
Részletes tematika
- Bevezető példák. Algoritmus - számítási probléma - specifikáció - programhelyesség
- programhelyesség bizonyítása. Beszúró rendezés. Példák érdekes algoritmusokra.
- Algoritmusok futási ideje (legjobb, legrosszabb, átlagos). Függvények növekedése,
O, ?, ? jelölések. Rekurzió, példák rekurzióra. Partíciószám, posztfix konverzió. Rekurziós egyenlet. Példa.
- Rendezési algoritmusok: kiválasztó, beszúró, kupacrendezés, gyorsrendezés.
Műveletigények Absztrakt adatszerkezetek. Elemi adatszerkezetek. Fabejáró algoritmusok. Bináris keresőfák.
- Dinamikus programozás: szerelőszalag ütemezése, mátrixok szorzása, leghosszabb közös
részsorozat, hátizsák feladat. Dinamikus programozás alapjai.
- Mohó algoritmusok: esemény kiválasztása. Töredékes hátizsák probléma. Huffman kódolás.
Mohó algoritmusok tervezése Oszd meg és uralkodj: bináris keresés, rendezés,
euklideszi algoritmus. Gráfok ábrázolása. Utak, szélességi, mélységi keresés.
Topologikus rendezés, erősen összefüggő komponensek Minimális feszítőfák: Kruskal és
Prim eljárása. Legrövidebb utak Dijkstra módszere. Floyd és Warshall módszere
Lineáris elsőfokú homogén, inhomogén egyenletek, megoldásuk Alsó korlát általános
rendezési algoritmus legrosszabb esetére.
- Lineáris rendezések: leszámláló, radix, vödrös. Mediánok és rendezett minták.
- Absztrakt adattípusok: verem, sor, prioritás sor, lista, kétirányú lista, tömb, sorozat,
halmaz, rhalmaz, függvény, reláció. Megvalósítások. A Függvény és a Halmaz adattípus és megvalósításuk.
Ajánlott irodalom:
- T.
H. Cormen, C. E. Leiserson,
R.L. Rivest, C. Stein:
Új algoritmusok, Scolar Informatika Könyvkiadó,
2003.
- T.
H. Cormen, C. E. Leiserson,
R.L. Rivest: Algoritmusok, Műszaki Könyvkiadó,
2003.
- D.
E. Knuth: A számitógépprogramozás
művészete, 1. Kötet, Műszaki Könyvkiadó, 1988. D. E. Knuth:
A számitógép-programozás művészete, 3. Kötet,
Műszaki Könyvkiadó, 1990.
- V. Aho, J. E. Hopcroft, J. D. Ullman: Számítógép-algoritmusok tervezése és
analízise, Műszaki Könyvkiadó, 1982.
- G. Gonnet, R. Baeza-Yates: Handbook of algorithms and data structures. In Pascal and C. , Addison-Wesley. 1991.
- R. Sedgewick: Algoritms in C++, Addison-Wesley.
1991.
- E. Horowitz, S. Shani:
Fundamentals of Computer Algorithms,
Computer Science Press,
1998.
- Rónyai Lajos, Ivanyos Gábor,
Szabó Réka: Algoritmusok, Tipotex, 1998.
A pub
könyvtárban elérhető anyagok:
Nyomtatható változat: ni.pdf (i = 1, . . .) állományokban.
Vetíthető változat: vi.pdf (i = 1, . . .) állományokban.
Gyakorló feladatok gyűjteménye: feladgyujt.pdf
Programok:
/pub/alg/java/*
/pub/alg/I/prog/*.pas
/pub/alg/I/prog/*.c
állományokban.