PROGRAMOZÁSI TÉTELEK

Hasonló dokumentumok
Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

ELEMI PROGRAMOZÁSI TÉTELEK

Programozási segédlet

Programozási tételek. Dr. Iványi Péter

Egyszerű programozási tételek

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Algoritmizálás, adatmodellezés tanítása 1. előadás

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

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

Hatékonyság 1. előadás

Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

ALGORITMUSOK ÉS PROBLÉMAOSZTÁLYOK (1. előadás)

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Összetett programozási tételek

Algoritmuselmélet 2. előadás

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

Közismereti informatika I. 4. előadás

Egyszerű programozási tételek

Adatbázis rendszerek Gy: Algoritmusok C-ben

A 2011/2012 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

Programozási tételek. PPT 2007/2008 tavasz.

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

Objektum Orientált Programozás VII.

Programozási alapismeretek 11. előadás

Tartalom. Programozási alapismeretek. 11. előadás

Egyszerű programozási tételek

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs

Rekurzív algoritmusok

Rendezések. Összehasonlító rendezések

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto

Láncolt listák Témakörök. Lista alapfogalmak

Haladó rendezések. PPT 2007/2008 tavasz.

Algoritmizálás, adatmodellezés tanítása 7. előadás

Bevezetés a programozásba I.

10. gyakorlat Tömb, mint függvény argumentum

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).

Algoritmizálás, adatmodellezés tanítása 2. előadás

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

Adatszerkezetek I. 8. előadás. (Horváth Gyula anyagai felhasználásával)

Gyakorló feladatok ZH-ra

1. Jelölje meg az összes igaz állítást a következők közül!

14. Mediánok és rendezett minták

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

PROGRAMOZÁSI NYELVEK (GYAKORLAT)

Programozási tételek

Algoritmizálás, adatmodellezés tanítása 1. előadás





Programozási tételek. Jegyzet. Összeállította: Faludi Anita 2012.

Levelez és Távoktatás. Bevezetés az algoritmustanba Programozási tételek

Számláló rendezés. Példa

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Felvételi tematika INFORMATIKA

Programozás alapjai. 5. előadás

Sorozat érték típusú programozási tételek

RENDEZÉSEK, TOVÁBBI PROGRAMOZÁSI TÉTELEK

Programozás alapjai 9.Gy: Struktúra 2.

A valós számok halmaza

Programozás II. előadás

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Objektumorientált Programozás VI.

Struktúra nélküli adatszerkezetek

Térinformatikai algoritmusok Elemi algoritmusok

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Térinformatikai algoritmusok Elemi algoritmusok

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Algoritmusok vektorokkal keresések 1

Algoritmusokfelülnézetből. 1. ELŐADÁS Sapientia-EMTE

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Bevezetés a programozásba. 5. Előadás: Tömbök

Informatikai tehetséggondozás:

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Mohó stratégia. Feladat: Megoldás:

Multihalmaz, intervallumhalmaz

15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: január 30.

Adatszerkezetek II. 6. előadás

Algoritmizálás és adatmodellezés tanítása 2. előadás

Informatikai tehetséggondozás:

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Nyugat-magyarországi Egyetem Geoinformatikai Kara. Dr. Szepesné Stiftinger Mária. Informatika 3. INF3 modul. Programozási ismeretek

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga

Informatikai tehetséggondozás:

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

Algoritmizálás, adatmodellezés tanítása 8. előadás

AAO 3. Csink László 2007

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

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék

Algoritmizálás, adatmodellezés 1. előadás

Átírás:

PROGRAMOZÁSI TÉTELEK

Összegzés tétele Adott egy N elemű számsorozat: A(N). Számoljuk ki az elemek összegét! S:=0 Ciklus I=1-től N-ig S:=S+A(I)

Megszámlálás tétele Adott egy N elemű sorozat és egy - a sorozat elemein értelmezett - T tulajdonság. Feladat a T tulajdonsággal rendelkező elemek megszámolása. S:=0 Ciklus I=1-től N-ig Ha A(I) T tulajdonságú akkor S:=S+1

Kiválasztás tétele Adott egy N elemű sorozat, egy - a sorozat elemein értelmezett - T tulajdonság, és tudjuk, hogy a sorozatban van legalább egy T tulajdonságú elem. A feladat ezen elem sorszámának meghatározása. I:=1 Ciklus amíg A(I) nem T tulajdonságú I:=I+1 SORSZ:=I Eljárás vége

Eldöntés tétele N elemű sorozat és egy a sorozaton értelmezett T tulajdonság. Van-e a sorozatnak legalább egy T tulajdonságú eleme? I:=1 Cikl. amíg I<=N és A(I) nem T tul.-ú I:=I+1 VAN:=I<=N Eljárás vége

Maximumkiválasztás tétele Sorozat legnagyobb elemének indexe. INDEX:=1 Ciklus I=2-től N-ig Ha A(INDEX) < A(I) akkor INDEX:=I

Minimumkiválasztás tétele Sorozat legkisebb elemének indexe. ÉRTÉK:=A(1) Ciklus I=2-től N-ig Ha A(I) < ÉRTÉK akkor ÉRTÉK:=A(I)

Lináris keresés Általános feladat: N elemű sorozat; sorozat elemein értelmezett T tulajdonság. Van-e T tulajdonságú elem és ha van, akkor mi a sorszáma. (Eldöntés és kiválasztás együtt.) I:=1 Ciklus amíg I<=N és A(I) nem T tulajd-ú I:=I+1 VAN:=I<=N Ha VAN akkor SORSZ:=I

Logaritmikus keresés Általános feladat: N elemű rendezett sorozat; egy keresett elem (X). Szerepel-e a keresett elem a sorozatban és ha igen, akkor mi a sorszáma. Kihasználjuk, hogy a sorozat rendezett, így el tudjuk dönteni, hogy a keresett elem az éppen vizsgált elemhez képest hol helyezkedik el. Al, F: intervallum alsó és felső végpontjai.

Logaritmikus keresés Al:=1 F:=N Ciklus K:=INT((Al+F)/2) Ha A(K)<X akkor Al:=K+1 Ha A(K)>X akkor F:=K-1 Megjegyzések: azért hívják logaritmikus keresésnek, mert a ciklus lépésszáma kb. log N sokkal hatékonyabb rendezett sorozatra, mint a lineáris keresés amíg Al<=F és A(K) X (amíg Al>F vagy A(K)=X) VAN:=Al<=F Ha VAN akkor SORSZ:=K

Egyszerű cserés rendezés Az aktuális első elemet összehasonlítjuk a második, harmadik,... elemmel. Ha az aktuális első elem nagyobb, cserélünk. A külső ciklus első lefutásakor helyére kerül a legkisebb elem. Ezután a külső ciklus továbblép, és a helyretett elem kikerül a rendezendő szakaszból. A külső ciklus K db lefutása után az első K db elem rendezett. A belső ciklus lefutásakor egyre kisebb értékű elemekkel cseréljük az éppen vizsgált tagot, emiatt alakul ki az a jellegzetes kép, hogy a rendezett szakasz után nagyjából fordítottan rendezett szakasz jelenik meg.

Egyszerű cserés rendezés Ciklus i := 1-től (N-1)-ig Ciklus j := (i+1)-től N-ig Ha T[i] > T[j] akkor Csere(T[i],T[j]) Elágazás vége http://tenger.web.elte.hu/flash/rendezesek/egyszerucseres.htm

Rendezés minimum-kiválasztással Ciklus I=1-től N-1-ig INDEX:=I ÉRTÉK:=A(I) Ciklus J=I+1-től N-ig Ha A(J)<ÉRTÉK akkor ÉRTÉK:=A(J) INDEX:=J A(INDEX):=A(I) A(I):=ÉRTÉK http://tenger.web.elte.hu/flash/rendezesek/minkiv.htm

Buborékos rendezés A tömb végéről indulva minden elemet összehasonlítunk az előtte lévővel. Ha rossz a sorrend, akkor csere. (Cs=cserehely) Az első menet végére az első helyen a megfelelő elem áll. Ezt az elvet folytatjuk egyre kevesebb elemmel. (N-1 menet)

Buborékos rendezés Ciklus I=2-től N-ig Ciklus J=N-től I-ig -1-esével Ha A(J-1)>A(J) akkor Cs:=A(J-1) A(J-1):=A(J) A(J):=Cs http://tenger.web.elte.hu/flash/rendezesek/buborekos.htm