Bevezetés�2022.09.06
Kőrösi Gábor
SzTE TTIK, Informatikai Intézet, Számítógépes Algoritmusok és Mesterséges Intelligencia tanszék
Miért járjunk gyakorlatra/előadásra?
Követelmények
Követelmények
Ponthatárok :
0-50: elégtelen (1)
51-60: elégséges (2)
61-70: közepes (3)
71-85: jó (4)
86+ : jeles (5)
Követelmények
Pluszpontok szerezhetők…
Aktivitással
Max. 10 pont
A minimumpontszámba (51) nem számítanak bele
Anyagok
Új algoritmusok
http://www.inf.u-szeged.hu/~rfarkas
Gelle Kitti korábbi jegyzete:
http://www.inf.u-szeged.hu/~kgelle/?q=alga
Imreh Csanád példatára:
http://www.inf.u-szeged.hu/~cimreh/feladatgyujt.pdf
Kőrösi Gábor korábbi jegyzete:
http://www.inf.u-szeged.hu/~korosig/teach.html
Témakörök
1. Bevezetés – Tantárgy ismertetése, Kártyahúzás probléma
2. Algoritmusok futásidő elemzése
3. Oszd meg es uralkodj
4. Dinamikus programozás
5. Mohó algoritmusok
6. Adtaszerkezetek
7. Keresőfák
8. Hasító táblázatok
9. Elemi gráfalgoritmusok
Miért tanuljak algoritmusokat?
Algoritmusok
Algoritmusnak nevezünk bármilyen jól definiált számítási eljárást, amely bemenetként bizonyos értéket vagy értékeket kap és kimenetként bizonyos értéket vagy értékeket állít elő.
Algoritmusok tervezése
ezek mintául szolgálhatnak a jövőben.
Algoritmusok elemzése
Feladat
Algoritmusok elemzése
1. Feladat
Algoritmusok elemzése
Megoldás
Algoritmusok elemzése
Legrosszabb megoldás
Algoritmusok elemzése
Legjobb (eset) megoldás
Algoritmusok elemzése
Átlagos megoldás
Algoritmusok elemzése
Megoldás
Algoritmusok elemzése
Megoldás
Algoritmusok elemzése
Megoldás
Algoritmusok elemzése
Megoldás
Algoritmusok elemzése
Megoldás
Algoritmusok elemzése
Megoldás
Nézzünk meg egy példát: A kihúzott lapom a Piros Király.
Algoritmusok elemzése
-Ennél kevesebb kérdésből nem is lehet megcsinálni
- ha leírjuk a válaszokat (pl 0 a ,,nem” és 1 az ,,igen”) sorrendben, akkor
N kérdés után egy N-bites bináris stringet kapun.
Algoritmusok elemzése
- a cél, hogy ebből az N-bites stringből egyértelműen meg tudjuk mondani, hogy melyik lapról beszélünk.
Algoritmusok elemzése
- Ha ezt 4 kérdésből csináljuk,
akkor 24 = 16-féle stringet tudunk előállítani, ami kevesebb, mint a lapok száma (32)
- minimum 5 kérdés kell ahhoz, hogy biztosan meg tudjuk mondani. 25 = 32, tehát ez épp elég lesz.
Feladat
Algoritmusok elemzése
2. Feladat
Egy egyetemista a fesztiválon átbulizott éjszaka után elfelejti, hogy a kempingben hol is volt a sátra. A kempingben n sátorhely van, amelyek egy sorban helyezkednek el.
Algoritmusok elemzése
Az egyetemista csak akkor ismeri fel a sátrát, mikor másodszor is alaposan megnézi.
Algoritmusok elemzése
A következő stratégiát alkalmazza: először elmegy a kemping másik széléig, miközben minden sátor helyét megvizsgálja.
Algoritmusok elemzése
Majd mivel elsőre nem találja meg a sátrát, visszafordul, és újra megvizsgálja az összes sátor helyét, amíg rá nem lel a sajátjára.
Algoritmusok elemzése
Hányszor kell az egyetemistának vizsgálódnia a legjobb, a legrosszabb és az átlagos esetben?
Algoritmusok elemzése
Legjobb eset:
A sátor az n. helyen van, így végigmegy egyszer (ez n db sátor megvizsgálása)
majd amint visszafordul rá is lel a saját sátrára, mikor másodjára megnézi (+1). Összesen: n+1 sátor megnézése
Algoritmusok elemzése
Legrosszabb eset:
A sátor az 1. helyen van. Ekkor végig nézi egyszer az összes sátrat (n db sátor végig nézése) majd visszajön az elejéig teljesen (újabb n db sátor megnézése). Azaz 2n db sátrat néz meg.
Algoritmusok elemzése
Átlagos eset:
ha a sátor hátulról az i-edik helyen van, akkor elmegy a végére és i helyet jön
vissza. Tehát n + i sátor helyét kell megnéznie. Így az átlagos eset
Algoritmusok elemzése
Hogy jött ez ki
http://www.inf.u-szeged.hu/~kgelle/sites/default/files/upload/alga-gyak-01.pdf