BSc Matematika Alapszak
Tantárgyleírás
2013.
Tantárgyleírás
2013.
Algoritmusok tervezése és elemzése1
Óraszám ea/gy |
Kredit ea/gy |
Számonkérés | Szakirány | Tárgykód ea/gy |
Ajánlott félév |
Státusz |
---|---|---|---|---|---|---|
2 + 2 | 2 + 3 | kollokvium + gyak. jegy |
alk. mat. | mm1c1at4a mm1c2at4a |
4 | kötelező |
Tantárgyfelelős
Erős | Gyenge | előfeltételek | |
---|---|---|---|
Gyakorlat | |||
Erős:
Programozási alapismeretekE
(im1c1pn2)
| |||
Előadás | |||
Gyenge:
a gyakorlat
|
Megjegyzések
- Akik 2012 szeptembere előtt kezdték meg tanulmányaikat Matematika BSc alapszakon, azok a Programozási nyelv (C++) és az Algoritmusok tervezése és elemzése2 tárgyak közül bármelyiket elegendő, ha elvégzik, és ha mindkettőt elvégzik, akkor az egyik számít be a kötelezően választható kreditek közé (a másik a kötelezőkbe).
A tematikát kidolgozta:
Szükséges előismeretek
Programozási alapismeretek.
Irodalom
- Cormen, Leiserson, Rivest, Stein: Új algoritmusok. Scolar, 2003.
- Rónyai L., Ivanyos G., Szabó R.: Algoritmusok. TypoTex, 2005.
Ajánlott:
- D. E. Knuth: A számítógép-programozás művészete, I. és III. Műszaki Könyvkiadó, 1987.
- S. Lipschutz: Adatszerkezetek. Panem-McGraw-Hill, 1993.
- N. Wirth: Algoritmusok + Adatstruktúrák = Programok. Műszaki Könyvkiadó, 1982.
- A. Aho, J. Hopcroft, J. Ullman: Számítógép-algoritmusok tervezése és analízise. Műszaki Könyvkiadó, 1982.
- Iványi Antal: Informatikai algoritmusok I-II. 2004, 2005.
- Tematikák, segédanyagok letölthetők a http://aszt.inf.elte.hu/~hunlaci/ és http://people.inf.elte.hu/fekete/ címekről.
Tematika
- Feladatok algoritmikus megoldhatósága, az idő- és tárbonyolultság, az „ordó matematikája”, nagyságrendek.
- A programozás absztrakt alapfogalmai: állapottér, feladat, program, megoldás. Program-konstrukciós módszerek, programhelyesség bizonyítás. Programozási tételek.
- Az adattípus absztrakciós szintjei: absztrakt adattípus (ADT), absztrakt adatszerkezetek (ADS), ábrázolási módszerek (aritmetikai, láncolt). Egyszerű adattípusok: tömb, verem, sor, elsőbbségi sor, listák, fák, és tipikus alkalmazásaik.
- Kiválasztások: maximum, szimultán minimum és maximum kiválasztás, a k-adik legkisebb elem kiválasztása lineáris időben. Alsókorlát-elemzés a „csalafinta válaszoló” módszerével.
- Az összehasonlításos rendezések alsókorlát-elemzése a legkedvezőtlenebb és az átlagos esetben. Rendezési módszerek osztályozása. A maximumot kiválasztó rendezések alapalgoritmusa és gyorsítás lehetősége tournament és heap felhasználásával. Az egy elemet a helyére vivő rendezők, quick-sort, rendező-fák (bináris rendező-fa, kiegyensúlyozott bináris rendező-fa). Az egyszerű beillesztés és a fogyó növekményű rendezés (Shell-módszer). Csere rendezések, adat-független csere-rendezések, szemléltetésük rendező hálózatokkal (buborék, piramis, Batcher). Az összefuttatásos rendezés tömbökben, illetve külső rendezőként.
- Keresési módszerek asszociatív adatszerkezeteken 1, visszavezetéses technikák (lineáris keresés, logaritmikus (bináris) keresés, keresőfák, optimális keresőfa, AVL-fa, B-fák).