Programozási tételek, és „négyzetes” rendezések

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Készítette: Kosztyán Zsolt Tibor
Nevezetes algoritmusok
Eljaras linearis_kereses(adatok[],n)
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Adatelemzés számítógéppel
Megszámlálás Elemi algoritmusok.
C++ programozási nyelv Gyakorlat hét
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
MI 2003/9 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
Programozási alapismeretek 5. előadás. ELTE Szlávi - Zsakó: Programozási alapismeretek 5.2/  Programozási tételek.
Vektormező szinguláris pontjainak indexe
Matematika II. 2. előadás Geodézia szakmérnöki szak 2012/2013. tanév Műszaki térinformatika ágazat őszi félév.
Prímtesztelés Témavezető: Kátai Imre Komputeralgebra Tanszék Nagy Gábor:
Copyright, 2009 © Szlávi Péter A kupac és a prioritási sor típuskonstrukciók Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
Euklidészi gyűrűk Definíció.
Az összehasonlító rendezések
Programozási alapismeretek 10. előadás
Programozási alapismeretek 5. előadás. ELTE 2/  Programozási tételek – a lényeglényeg  Sorozatszámítás Sorozatszámítás.
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
DIFFERENCIÁLSZÁMÍTÁS ALKALMAZÁSA
Sztringek.
Algoritmusok Az algoritmus fogalma:
Táblázatkezelés alapjai MS Excel, OpenOffice Calc
Egydimenziós tömbök. Deklarálás: var valtozónév:array[kezdőérték..végsőérték]of típus; type típusnév = array [kezdőérték..végsőérték] of típus; var valtozónév:
Gombkötő Attila Lineáris egyenlet.
Készítette: Pető László
OPERÁCIÓKUTATÁS Kalmár János, 2011 Tartalom Több lineáris célfüggvényes LP Tiszta egészértékű LP.
OPERÁCIÓKUTATÁS Kalmár János, 2012 Tartalom A nulla-egy LP megoldása Hátizsák feladat.
A digitális számítás elmélete
2012. február 29. Paulik Áron.  Eddig: összegzés, számlálás  III. Lineáris keresés tétele  Egy bizonyos értéket keresünk egy adatsorban  Benne van-e?
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.1/ Keresés Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]
ELTE Szlávi-Zsakó: Programozási alapismeretek 10.1/ Összegzés mátrixra Feladat: Egy mátrix elemeinek összege.
Leszámoló rendezés Készítette: Várkonyi Tibor Zoltán VATNABI.ELTE
Készülj az érettségire
A számfogalom bővítése
Ficsor Lajos Template-ek CPP8/ 1 Template-ek. Ficsor Lajos Template-ek CPP8/ 2 A template fogalma Kiindulási probléma: tetszőleges típusokon kellene ugyanolyan.
Microsoft Excel Függvények VII..
Rendezési algoritmusok
Tömbök és programozási tételek
Rendezések és szövegkezelő függvények
Összetett adattípusok
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
A differenciálszámtás alapjai Készítette : Scharle Miklósné
Hernyák Zoltán Programozási Nyelvek II.
Programozási alapismeretek 11. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 11.2/ Tartalom  Rendezési.
Vektorterek Definíció. Legyen V Abel-csoport, F test, továbbá
Csempe Programozás érettségi mintafeladat
Programozási tételek.
Programozási tételek.
Programozás I. Típus algoritmusok
Logikai programozás 6..
előadások, konzultációk
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
Programozási alapismeretek 10. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 10.2/  Kiválogatás + összegzés.
MI 2003/8 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
TÁMOP /1-2F Felkészítés szakmai vizsgára, informatika területre modulhoz II/14. évfolyam Az interaktív vizsga jellegzetes feladattípusainak.
HÁLÓZAT Maximális folyam, minimális vágás
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
Nevezetes algoritmusok
Tömbök és programozási tételek
Eljaras linearis_kereses(adatok[],n)
Informatikai gyakorlatok 11. évfolyam
Programozási tételek.
Programozási tételek.
Előadás másolata:

Programozási tételek, és „négyzetes” rendezések

Összegzés Egy adott m..n intervallumon, tetszőleges f függvényre

Összegzés példa Legyen adott az [1, 0, 3, 4, 5, -1, 2] vektor, f(i) pedig jelentse az i. indexű vektor értéket. (i = 1..7) Ekkor az összegzés eredménye: s = 1 + 0 + 3 + 4 + 5 + (-1) + 2 = 14 Tetszőleges f függvény megadható, aminek paramétere az elemek indexe. Pl. legyen f(i) = i. Mindenképp elmegy az interval. végéig

Számlálás Adott m..n intervallumon összeszámolja a béta tulajdonságú elemeket

Számlálás példák [1, 0, 3, 4, 5, -1, 2] vektor Legyen Béta(k) = Béta(vektor(k)) Egyértelmű példa: a vektor elemszáma: d = 7 Tetszőleges béta tulajdonság megadása, pl. béta = nem negatív számok (poz. vagy nulla), ekkor d = 6 vagy béta = pozitív számok (nulla kivétel) ekkor d = 7 – 2 = 5 Mindenképp „elteker” az intervallum végéig

Lineáris keresés Egy adott m..n intervallumon keresi az első béta tulajdonságú elemet.

Lineáris keresés példák [1, 0, 3, 4, 5, -1, 2] vektor, Legyen, béta(i) = béta(vektor(i)) Továbbá, például béta legyen igaz, hogyha negatív elem az argumentuma. Ekkor a keresés idáig jut, és itt leáll: [1, 0, 3, 4, 5, -1, 2] Ha nem lenne ilyen tul. elem, a végén állna meg. Futási ideje n-es, ha az n. elem a megtalált elem. Előny: egyszerű implementáció, gyakran használatos Hátrány: (n lehet nagyon nagy, pl. 1 millió/milliárd)

Eldöntések Eldöntés 1: Ugyanaz mint a lineáris keresés, de nem adja vissza a talált (i) indexet, csak hogy létezik-e béta tulajdonságú elem.

Eldöntés 1 példák Tehát ahelyett hogy „igen van ilyen elem, és ez a nyolcadik” (lineáris keresés), Az eldöntés csak ennyit válaszol: „igen, van ilyen elem”.

Eldöntések Eldöntés 2: Végig ellenőrzi hogy mindegyik elem ilyen béta tulajdonságú-e. Tehát kötelezően végigmegy az összes elemen, nem áll le előbb.

Eldöntés 2 példák [1, 0, 3, 4, 5, -1, 2] vektor, Legyen, béta(i) = béta(vektor(i)) Eldöntési kérdés vagyis béta tulajdonság pl.: Az összes elem pozitív-e? Futás végén: nem Az összes érték negatív-e? .. Az összes érték természetes szám?...

Maximum keresés Megtalálja a maximumnak definiált elemet Gyakori hiba lehetőség: a kezdőelem elrontása. Ez mindig legyen az első elem (nem egy kitalált)!

Maximum keresés

Max. ker példák Legyen adott az [1, 0, 3, 4, 5, -1, 2] vektor, f(i) pedig jelentse az i. indexű vektor értéket. (i = 1..7) Indulás: az első max. elem (f(m)) = 1 Eredmény: A megtalált maximum: 5 Mindig végigmegy az egész intervallumon

Minimum keresés Ugyanaz mint a max. ker., csak változónevek, és a relációk cserelésével (az egyre kisebb elemeket fogjuk keresni).

„Négyzetes” rendezések Négyzetes -> n^2 futás idejű rendezések Amik nem a legjobbak (ami n, vagy logn), de széles körben elterjedtek, ismertek és oktatottak. Persze nagyon nagy számosságú adatot nem ezekkel célszerű rendezni  Cél: például adott számsorokat rendezni [1, 4, 8, 2, -1, 0] -> [-1, 0, 1, 2, 4, 8]

Maximum kiválasztásos rendezés Eljárás Rendezés maximumkiválasztással Ciklus j = n-től 2-ig MaxKer(az első j elemben) Csere(v(j), maxh) Ciklus vége Eljárás vége

Max. ker. kivál. példa Kiindulás: [1, 4, 8, 2, -1, 0] j = n, és n most 6. Tehát (j = 6) –tól 2-ig megyünk. MaxKer az első j=6 (az összes) elemben: Maximum= 8, csere v(j=6) <-> max=8 [1, 4, 0, 2, -1, 8], továbbá legyen j = 5… [1, -1, 0, 2, 4, 8], továbbá j = 4… [1, -1, 0, 2, 4, 8], itt a csere felesleges is… …. -> Eredmény előbb-utóbb: [-1, 0, 1, 2, 4, 8] (az aláhúzás a futási területet jelöli)

Buborék módszer Lényege: mindig „felbuborékoltatjuk” a legalsó elemeket a megfelelő helyre (például ha az első a legnagyobb elem, azt a vektor végére) [8, 4, 1, 2, -1, 0]  [4, 1, 2, -1, 0, 8] Majd újrakezdjük a cserélgetést, de mostmár elég a legutolsó elem előtt egyel megállni (mert az a legnagyobb) [4, 1, 2, -1, 0, 8]  [1, 2, -1, 0, 4, 8] (aláhúzás hasonlóan mint előbb)

Buborék módszer algoritmusa Eljárás Buborékrendezés Ciklus i = n-től 2-ig, -1-esével Ciklus j = 1-től i-1 –ig Ha v(j) > v(j+1) akkor Csere(v(j), v(j+1)) Ciklus vége Eljárás vége

Felhasznált irodalom Rendezéses algoritmusok Képek Farkas Csaba.: Programozási ismeretek haladó felhasználóknak JOS, 2004 Képek Fóthi Ákos.: Bevezetés a programozáshoz ELTE Eötvös Kiadó, 2005 Elektronikus jegyzet