BETŰK RENDEZÉSÉTŐL EGY VALÓS SZÁMOKAT TARTALMAZÓ VEKTOR RENDEZÉSÉIG FROM ALPHABETICAL ORDERING TO SORTING REAL NUMBERS

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "BETŰK RENDEZÉSÉTŐL EGY VALÓS SZÁMOKAT TARTALMAZÓ VEKTOR RENDEZÉSÉIG FROM ALPHABETICAL ORDERING TO SORTING REAL NUMBERS"

Átírás

1 BETŰK RENDEZÉSÉTŐL EGY VALÓS SZÁMOKAT TARTALMAZÓ VEKTOR RENDEZÉSÉIG FROM ALPHABETICAL ORDERING TO SORTING REAL NUMBERS Kiss László Óbudai Egyetem, Rejtő Sándor Könnyűipari és Környezetmérnöki Kar, Médiatechnológai és Könnyűipari Intézet KIVONAT Cikkemben szeretném végigvezetni a hallgatóságot azon a gondolkodási folyamaton, hogy hogyan juthatunk el egy általában ismert algoritmustól, mint az angol ABC nagybetűit tartalmazó szöveg karaktereinek ABC sorba rendezése, egy egész számokat tartalmazó vektor rendezésén át, egy valós számokat tartalmazó vektor rendezésének érdekes megvalósításáig. A kitűzött cél: az elemszám növekedése esetén bizonyos esetekben elérni, hogy az idő lényegében lineárisan változzon. Előnye a megvalósításnak, hogy ugyanezen az elven a számhalmaz mediánját is hatékonyan meghatározhatjuk. A fentiek szemléltetésére Excelben VBA alkalmazásokat is bemutatok. Módszertani szempontból fontosnak tartom, hogyan térhetünk el a szokásos gondolatmenettől egy feladat megoldása során, és juthatunk el általa egy talán jobb, vagy később jobbá tehető, de mindenképpen más módszerhez. ABSTRACT This presentation is a step-by-step demonstration of the thought process that starts from a generally known algorithm, such as ordering letters of the English alphabet, and extends it first to sorting a dense vector containing integers, then to an interesting implementation of sorting a vector of real numbers. The aim is to arrive at an algorithm that is in certain cases capable of meeting a practically linear time requirement. An additional advantage of the same implementation principle is that it allows finding the median of the set efficiently. Excel VBA applications are used as a demonstration. From a methodological point of view this is an example where thinking outside the box leads to an unconventional solution that has the potential to surpass the usual solution. KULCSSZAVAK/KEYWORDS Algoritmusok, programozás, oktatásmódszertan Algorithms, programming, teaching methodology MOTTÓ Minden mindennel összefügg, minden algoritmus, és minden függvény.

2 BEVEZETÉS Az élet különböző helyzeteiben különböző algoritmusok, folyamatok részesei vagyunk. Sokszor egyáltalán nem ismert a következő lépés vagy állapot, annyi mindentől függ. Nagyon fontos, hogy tekintetünket az egészre próbáljuk emelni, hogy lássuk az összefüggéseket, a végbemenő folyamatokat és a feltételeket, amelyek azokat befolyásolják. Ebben a szemléletben gondolkodva sokszor lényeges, hogy el tudjunk szakadni attól a gondolkodási sémától, amit egy adott állapot sugall számunkra. A különböző tudományokban is alkalmazhatjuk ezt a módszert egy-egy probléma megoldása során. Emiatt fontosnak tartom, hogy ismertessük meg ezt a gondolkodásmódot az oktatás különböző területein és szintjein a hallgatókkal, hogy mind az életben, mind munkájukban alkalmazhassák. A témát előszeretettel vezetem be azokkal a logikai feladatokkal, amelyeket a Rátz László Vándorgyűlésen, 1997-ben, a gondolkodásról tartott előadásomhoz állítottam össze, melynek megtartásában nagy szerepet játszott [1] és [2] tanulmányozása. LOGIKAI FELADATOK 1) Adott négyzetrács alakban 9 pont. Kössük össze őket 4 egyenes vonallal a ceruza felemelése nélkül. 2) Négy hajóról tudjuk, hogy egymástól egyenlő távolságra vannak. Az egyik vitorlás, a másik halászhajó, a harmadik utasszállító. Milyen a negyedik? 3) Egy nagy átmérőjű, egyenes, rövid csőbe, aminek mindkét vége nyitott, a két végén belenézett két macska, és nem látták egymást. Hogyan történhetett ez? 4) Egy cowboy Pénteken belovagolt a városba, hogy a marháit eladja. Még aznap sikeresen eladta mindet. Bement a kocsmába és két nap két éjjel ivott, majd azonnal hazatért. Mégis Pénteken ment haza. Hogyan volt ez lehetséges? 5) a) A sivatagban, déli 12 órakor egy légionáriust elkapnak a beduinok. Halállal kell lakolnia, ha egy sapkából a 10 fekete és 1 fehér kő közül csukott szemmel nem tudja kivenni a fehéret. Ő a feladatot mosolyogva oldja meg. Hogyan csinálta? b) Adott két szoba. Az egyikben 3 kapcsoló lekapcsolt állapotban, a másikban hozzájuk tartozóan 3 villanykörte. Először a "kapcsolós" szobába mehetünk be, ahol bármelyiket kapcsolgathatjuk, majd a "körtés" szobába, de onnan a "kapcsolós"-ba már nem térhetünk vissza. Meg tudjuk e mondani, hogy melyik kapcsolóhoz melyik körte tartozik? A megoldások során rendre a négyzet, a sík, a tér, az idő, és végül a matematika területét hagyjuk el, és gondolkodunk más nézőpontból. BETŰK (KARAKTERSOROZAT) RENDEZÉSE Az angol ABC nagybetűiből álló szövegben a karaktereket ABC sorba szeretnénk rendezni. Megoldhatjuk a feladatot valamelyik vektorrendezés elvén. A szöveg hosszát ismerve, a karaktereket egyenként leválasztjuk, és egy vektorban helyezzük el. A vektor elemeit növekvőbe rendezzük, majd szöveggé összefűzzük. Az ettől eltérő megoldás alapja, hogy ismerjük a nagybetűk ASCII kódjait (A=65, B=66,, Z=90). Felveszünk egy 26 elemű vektort (jelölje: V), amiben minden elem kezdeti értéke nulla. Leválasztjuk sorban a karaktereket (jelölje az éppen leválasztott karaktert: C).

3 Alkalmazzuk a következő leképezést: K=Asc(C)-64 (itt ASC az a függvény, ami egy karakterhez annak ASCII kódját rendeli). Ekkor K értéke 1 és 26 közé esik. Legyen V(K)=V(K)+1. Ha minden karaktert feldolgoztunk, akkor V(K) az angol ABC K-adik betűjének szövegbeli előfordulási számát mutatja. Ezután felveszünk egy üres szöveg típusú változót (S), majd a V vektor elemein végighaladva a K-adik betűt (C=Chr(K+64)) V(K)-szor ciklusban S-hez fűzzük, és megkapjuk a keresett, rendezett karakterekből álló szöveget. Az 1. ábrán az oszlopindexek éppen az angol ABC nagybetűi. Az 1. sor értékei az egyes betűk sorszáma, ami éppen az algoritmus lehetséges K értékeivel egyezik meg. A 3. sor a rendezésre váró, a 4. a rendezett karaktereket tartalmazza. A 2. sor a V vektort szemlélteti, vagyis azt láthatjuk, hogy a rendezni kívánt karaktersorozatban (szövegben) az egyes karakterek hányszor fordultak elő. Természetesen ezt az algoritmust ki lehet terjeszteni teljes szövegekre (amelyek nagybetűt, kisbetűt és egyéb karaktereket is tartalmaznak), de most nem ennek a tárgyalása a cél. EGÉSZ SZÁMOKAT TARTALMAZÓ VEKTOR RENDEZÉSE Előbbi ötletünket alkalmazhatjuk olyan egész számok rendezésére is, ahol a legnagyobb és legkisebb szám különbsége nem túl nagy. Meghatározzuk a számok minimumát (MIN) és maximumát (MAX), felveszünk egy V vektort, aminek MAX-(MIN-1) eleme van, és minden elem értéke kezdetben nulla. A rendezni kívánt számok mindegyikéhez (jelölje az éppen vizsgáltat: J) hozzárendeljük a K=J- (MIN-1) indexet, majd a V vektor K-adik elemét 1-el megnöveljük (V(K)=V(K)+1). Ezzel a módszerrel az elemeket osztályokba soroltuk. Egy osztály létszámát V vektor megfelelő eleme adja, és az egy osztályba tartozó számok megegyeznek. Ezután sorban feldolgozzuk V összes elemét. Az éppen aktuális elem indexéhez (jelölje: K) hozzáadjuk az MIN-1 számot (J=K+(MIN-1)), és az így kapott értéket V(K)-szor vesszük. Ezzel az egész számokból álló halmazt rendezetten kapjuk vissza. A két algoritmus ugyanazon az elven alapszik: megszámoljuk az egyes előfordulásokat. Számlálás közben az indexekből mindkét esetben tulajdonképpen (a lehetséges minimumérték-1)-et vonunk ki, azért, hogy a számláló vektor a lehető legkisebb elemszámú legyen. A rendezésnek ezt az alapötletét, Knuth szerint, Harold H. Seward találta ki 1954-ben [3]. EGYENLETES ELOSZLÁSÚ VALÓS SZÁMOK RENDEZÉSE Valós számokat nem tudunk úgy megszámolni, mint azt az egészekkel tettük, de fenti ötletet alkalmazhatjuk arra, hogy rendezettségüket tekintve előbbre jussunk. Keressük meg a számok maximumát (MAX) és minimumát (MIN). Tekintsük a MAX- MIN értéket. Ez a számok legnagyobb távolsága. Jelölje X a számok egyikét. Vegyük az DX=(X-MIN)/(MAX-MIN) értéket. Mivel MIN<=X<=MAX, ezért 0<=DX<=1. Legyen K a DX*(M-1) egészrésze plusz 1 (K=1+Int(DX*(M-1))). Akkor K egész szám, és 1<=K<=M. Tehát a K=1+(Int((X-MIN)*(MAX-MIN)*(M-1)) függvény a valós számok egy tetszőleges halmazát leképezi az 1, 2,, M egész számok halmazára. Ezzel a valós számokat M osztályba soroltuk. A leképezésre nyilvánvalóan igaz, hogy ha két szám képe nem azonos, akkor közülük az a nagyobb, amelyikhez nagyobb egészet rendeltünk. Ha azt is tudjuk, hogy a valós számok a számegyenesen egyenletesen találhatók, akkor az egyes osztályok elemszáma (létszáma) közel azonos. Algoritmusunk a fentieken alapul.

4 Megvizsgáljuk a számokat (K=1+(Int((X-MIN)*(MAX-MIN)*(M-1))), és közben számoljuk egy vektorban (V(K)=V(K)+1), hogy egy-egy osztály milyen számosságú. Ezután egy másik vektorban meghatározzuk az egyes osztályok kezdőindexeit. Az első osztály kezdőindexe 1 (KC(1)=1). Minden következőé az előző kezdőindexe + az előző számossága (KC(I)=KC(I-1)+V(I-1), 2<=I<=M). Ezután újra olvasva számainkat, és újra kiszámolva, hogy melyik osztályba tartoznak, elhelyezzük őket egy új vektorban a kezdőindexeket mutató vektornak az adott osztályra vonatkozó értéke, mint index alapján, amelyet minden elhelyezett szám után megnövelünk 1-gyel. Az eljárás végén a kezdőindex-vektor elemei éppen az 1-el nagyobb indexű osztály kezdőindexét tartalmazzák. Ezzel a módszerrel számaink az új vektorban részben rendezettek, hiszen a nagyobb indexű osztályban lévők nagyobbak, mint a kisebb indexű osztálybeliek. A feladat már csupán az, hogy az egyes osztályban található számokat valamilyen rendezési algoritmussal rendezzük. Figyelnünk kell az osztályok kezdőindexeit tartalmazó vektor tartalmára. A számok mennyiségétől és a tárolási lehetőségeinktől függően szabhatjuk meg az osztályok számát, ami egyben az osztályban átlagosan található elemszámot is meghatározza. A rendezésnek ez az algoritmusa felfogható az edényrendezés (alapötlete: E. J. Isaac és R. C. Singleton, 1956 [3]) kiterjesztéseként is a valós számok tetszőleges intervallumára, de attól teljesen mértékben eltér az osztályok (edények) létrehozásában és feldolgozásában. A módszert, Vonnák Ivánnal közös ötletünk alapján, valamikor 1979 és 1982 között programoztam be először, és alkalmaztam a következő fejezetben leírt mediánkeresésre is. Bár erre a megvalósításra utaló cikket vagy könyvet nem találtam, egyáltalán nem zárom ki, hogy az ötlet nem egyedül bennünk született meg. Készítettem egy alkalmazást, ami egész szám tesztadatokra különböző elemszám esetén végrehajtja a buborékrendezést, a számláló (leszámláló) rendezést Excel cellák illetve részben belső vektorok használatával, és az ismertetett osztályozó rendezést Excel cellák illetve részben belső vektorok használatával. Utóbbinál az átlagos osztálylétszám 3, azaz az osztályok száma az egész számok számának harmada (M=Int(N/3). A teszteredményeket átlagoltam, majd a rendezési időket elosztottam az elemszámmal, és grafikonon ábrázoltam. A buborékrendezés (1. ábra) és a számláló rendezés (2. ábra) grafikonja megfelel a szakirodalomban olvasottaknak. Az osztályozó rendezés grafikonjáról (3. ábra) leolvasható, hogy az 1 számra (vektorelemre) vonatkozó rendezési idő az elemszám függvényében hasonlóan a számláló rendezéshez - nem növekszik. Lényegében állandó. Egy másik alkalmazással azt teszteltem, hogy az osztályok száma hogyan hat az 1 vektorelemre eső rendezési idő értékére. Azt tapasztaltam, hogy minél kisebb egy osztály létszáma, annál kisebb a rendezés egy elemre eső ideje is (4. ábra). Ha tehát van elég tárterületünk, akkor pontosan annyi osztályba érdemes a valós számokat sorolni, ahányan vannak. MEDIÁN KERESÉSE EGYENLETES ELOSZLÁSÚ VALÓS SZÁMHALMAZON. A valós számok rendezésénél alkalmazott osztályba sorolást felhasználhatjuk a számok mediánjának meghatározására. Ha számuk páratlan, akkor az egyes osztályok számosságának ismeretében pontosan tudjuk, hogy a középső melyik osztályban található, és abban hányadik. Ha páros, akkor a két középső közül a nagyobbról ugyanezt ismerjük. Ha az nem egy osztály legelső eleme, akkor mindketten ugyanabban az osztályban vannak, és azt is tudjuk, hogy

5 hányadik elemek. Ha az egy osztály első eleme, akkor annak minimuma, és a kisebbik a megelőző osztály maximuma. Így az algoritmus az alábbi: Legyen a valós számok száma N. Páratlan esetben a középső, páros esetben a két középső közül a nagyobb rendezettségben kapott indexe J=1+Int(N/2). Fentiek szerint meghatározzuk az osztályok létszámát, azaz kitöltjük a számláló vektort. A számláló vektor elemeit 1-hez hozzáadva összegezzük mindaddig, amíg az összeg értéke nagyobb vagy egyenlő nem lesz, mint J. (Tulajdonképpen kiszámítjuk az egyes osztályok kezdőcímeit (kezdőindexeit), csak azokat nem tároljuk most vektorban.) Ha egyenlő, akkor páratlan elemszám esetén a medián az adott osztály minimuma. Páros elemszámnál szükségünk van a megelőző osztály maximumára is. Ezután újra megvizsgálva a számokat, egyúttal meghatározzuk az adott osztály minimumát, illetve páros esetben a megelőző maximumát, majd a két szám átlagát, és ezzel a mediánt. Ha nagyobb, akkor a medián, illetve páros esetben a mediánhoz szükséges két érték mindegyike a megelőző indexű osztályban van. (Nyilvánvaló, hogy a megelőző osztály ebben az esetben nem lehet 1 létszámú.) Az osztály számosságát ismerve azt is tudjuk, hogy annak melyik felében, azaz a rendezettségben alulról vagy felülről hányadik elemet, vagy elemeket kell meghatároznunk. Ennek megfelelően újra megvizsgáljuk a számokat, az adott osztály elemeit elhelyezzük egy vektorban (elemszáma az osztálylétszám), majd a vektorra a buborékrendezésnél megismert cserélgetési eljárást, növekvőben vagy csökkenőben, szükséges számban alkalmazzuk, és páros esetben átlagot számolunk. Készítettem egy alkalmazást, amelyik generált tesztadatokból fenti algoritmussal, az Excel medián függvényével, illetve belső rendezőjével - rendezve a tesztadatokat - számítja ki a mediánt. A tesztelések során azt tapasztaltam, hogy az algoritmus a rendezéses megoldásnál egyértelműen gyorsabb, a medián függvény alkalmazásával pedig lényegében azonos időigényű (hol több, hol kevesebb, de közel azonos). Figyelembe véve, hogy az algoritmus VBA-ban, tehát interpreterben megírt, ami a futás közben még a programszöveget is kell, hogy értelmezze, szemben utóbbiakkal, valószínűsíthető, hogy azonos nyelven megírva egyértelműen gyorsabb (2. táblázat). ÖSSZEFOGLALÁS/KÖVETKEZTETÉS Végigjártunk egy gondolkodási utat, hogyan térhetünk el az adott gondolkodási sémától a betűk, egész számok és valós számok rendezése során. Hogyan alkalmazhatjuk módszerünket a medián meghatározására. Az elért eredményekkel elégedettek lehetünk, hiszen a valós számokra alkalmazott rendezési algoritmus időgrafikonja lineáris, és a medián meghatározása a VBA kód ellenére nagyon gyors. Bízom benne, hogy az olvasó érdekesnek találta a gondolkodásnak ezt a megközelítését, és az ismertetett algoritmusok hozzásegítik ahhoz, hogy keresse az új utakat. IRODALOMJEGYZÉK [1] Hatvany László: KARÁCSONY SÁNDOR PEDAGÓGIAI ÍRÁSAIBÓL (9 tanulmány, ), Csökmei Kör, 1994 [2] Karácsony Sándor: A tanulás mesterfogásai, Csökmei Kör, Pécel, 1998 ISBN: [3] Cormen, Leiserson, Rivest: Algoritmusok, Műszaki Könyvkiadó, 2003, ISBN:

6 SZERZŐ Kiss László, főiskolai docens, ÓE RKK MKI,

7 1. táblázat. Az angol ABC nagybetűiből álló karaktersorozat rendezése. 2. táblázat. A rendezéseket összehasonlító alkalmazás az Osztályozó rendezés Excel cellákkal futása után, a Buborékrendezés futása előtt. Adatok megnevezése Adatok Generált és később rendezett számok Osztály létszáma Számok rendezetten Kezdő címek Aktuális címek Véletlen számok száma: Véletlen számok maximális értéke: Véletlen számok oszlopindexe: Kezdő sorindex az oszlopban Minimum Maximum Leszámláló rendezés belső vektorral 0, Leszámláló rendezés cellákkal 0, Osztályozó rendezés belső vektorral 0, Osztályozó rendezés cellákkal 0, Buborékrendezés Megállít (0 =nem, 1=igen) táblázat. Valós számok mediánjának meghatározása, összehasonlítással.

8 1. ábra. Buborékrendezés relatív idődiagramja az elemszám függvényében 2. ábra. Számláló rendezés relatív idődiagramja az elemszám függvényében

9 3. ábra. Osztályozó rendezés relatív idődiagramja az elemszám függvényében 4. ábra. Osztályozó rendezés relatív idődiagramja az elemszám és az osztályok számának függvényében (osztályok száma = elemszám/jelmagyarázat érték egészrésze)

BIZONYOS GRÁFELMÉLETI ALGORITMUSOK TANÍTÁSA ELEGÁNSAN KISS LÁSZLÓ

BIZONYOS GRÁFELMÉLETI ALGORITMUSOK TANÍTÁSA ELEGÁNSAN KISS LÁSZLÓ ACTA CAROLUS ROBERTUS 3 (1) Módszertan szekció BIZONYOS GRÁFELMÉLETI ALGORITMUSOK TANÍTÁSA ELEGÁNSAN Összefoglalás KISS LÁSZLÓ Cikkemben a gráfelmélet néhány algoritmusának elegáns, hatékony, tanításra

Részletesebben

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

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések) Adatszerkezetek Nevezetes algoritmusok (Keresések, rendezések) Keresések A probléma általános megfogalmazása: Adott egy N elemű sorozat, keressük meg azt az elemet (határozzuk meg a helyét a sorozatban),

Részletesebben

Programozási segédlet

Programozási segédlet Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen

Részletesebben

A SZÁLLÍTÁSI FELADAT TANÍTÁSA ELEGÁNSAN KISS LÁSZLÓ

A SZÁLLÍTÁSI FELADAT TANÍTÁSA ELEGÁNSAN KISS LÁSZLÓ ACTA CAROLUS ROBERTUS 3 (1) Módszertan szekció A SZÁLLÍTÁSI FELADAT TANÍTÁSA ELEGÁNSAN KISS LÁSZLÓ Összefoglalás Cikkemben a szállítási feladat tanítására és a hallgatók egyéni tanulásának támogatására

Részletesebben

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

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok és programozási tételek

Részletesebben

Ö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.

Ö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. Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,

Részletesebben

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

15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 30. 15. tétel Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 30. Edényrendezés Tegyük fel, hogy tudjuk, hogy a bemenő elemek (A[1..n] elemei) egy m elemű U halmazból kerülnek ki, pl. " A[i]-re

Részletesebben

Számjegyes vagy radix rendezés

Számjegyes vagy radix rendezés Számláló rendezés Amennyiben a rendezendő elemek által felvehető értékek halmazának számossága kicsi, akkor megadható lineáris időigényű algoritmus. A bemenet a rendezendő elemek egy n méretű A tömbben

Részletesebben

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek

Részletesebben

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.

Részletesebben

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

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n). Edényrendezés Tegyük fel, hogy a rendezendő H = {a 1,...,a n } halmaz elemei a [0,1) intervallumba eső valós számok. Vegyünk m db vödröt, V [0],...,V [m 1] és osszuk szét a rendezendő halmaz elemeit a

Részletesebben

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL x 1-2x 2 6 -x 1-3x 3 = -7 x 1 - x 2-3x 3-2 3x 1-2x 2-2x 3 4 4x 1-2x 2 + x 3 max Alapfogalmak: feltételrendszer (narancs színnel jelölve), célfüggvény

Részletesebben

Függvények Megoldások

Függvények Megoldások Függvények Megoldások ) Az ábrán egy ; intervallumon értelmezett függvény grafikonja látható. Válassza ki a felsoroltakból a függvény hozzárendelési szabályát! a) x x b) x x + c) x ( x + ) b) Az x függvény

Részletesebben

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Sorozatok I. DEFINÍCIÓ: (Számsorozat) A számsorozat olyan függvény, amelynek értelmezési tartománya a pozitív egész számok halmaza, értékkészlete a valós számok egy részhalmaza. Jelölés: (a n ), {a n }.

Részletesebben

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb 1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb #include main() { int a, b; printf( "a=" ); scanf( "%d", &a ); printf( "b=" ); scanf( "%d", &b ); if( a< b ) { inttmp = a; a =

Részletesebben

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek

Részletesebben

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban? 6. Függvények I. Nulladik ZH-ban láttuk: 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban? f x g x cos x h x x ( ) sin x (A) Az f és a h. (B) Mindhárom. (C) Csak az f.

Részletesebben

Algoritmusok bonyolultsága

Algoritmusok bonyolultsága Algoritmusok bonyolultsága 5. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 27 Gazdaságos faváz Kruskal-algoritmus Joseph Kruskal (1928 2010) Legyen V = {v 1, v 2,..., v n }, E = {e 1, e 2,...,

Részletesebben

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző

Részletesebben

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek megoldásához!

Részletesebben

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek

Részletesebben

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

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Programozási tételek, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok

Részletesebben

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont) A Név: l 2017.04.06 Neptun kód: Gyakorlat vezet : HG BP l 1. Az A vektor tartalmát az alábbi KUPACOL eljárással rendezzük át maximum kupaccá. A={28, 87, 96, 65, 55, 32, 51, 69} Mi lesz az értéke az A vektor

Részletesebben

MATEMATIKAI FÜGGVÉNYEK

MATEMATIKAI FÜGGVÉNYEK MATEMATIKAI FÜGGVÉNYEK ABS Egy szám abszolút értékét adja eredményül. =ABS(32) eredménye 32, =ABS(-32) eredménye ugyancsak 32 DARABTELI Összeszámolja egy tartományban a megadott feltételeknek eleget tevő

Részletesebben

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

Bánsághi Anna 2014 Bánsághi Anna 1 of 68 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

Az Országos Középiskolai Tanulmányi Verseny 2005-2006. tanévi első fordulójának feladatmegoldásai. 81f 2 + 90l 2 f 2 + l 2

Az Országos Középiskolai Tanulmányi Verseny 2005-2006. tanévi első fordulójának feladatmegoldásai. 81f 2 + 90l 2 f 2 + l 2 Az Országos Középiskolai Tanulmányi Verseny 2005-2006. tanévi első fordulójának feladatmegoldásai matematikából, a II. kategória számára 1. Két iskola tanulói műveltségi vetélkedőn vettek részt. A 100

Részletesebben

GRÁF GENERÁLÁS ÉS A KRUSKAL ALGORITMUS TANÍTÁSA EXCEL SEGÍTSÉGÉVEL GENERATING GRAPHS AND TEACHING THE KRUSKAL ALGORITHM USING EXCEL

GRÁF GENERÁLÁS ÉS A KRUSKAL ALGORITMUS TANÍTÁSA EXCEL SEGÍTSÉGÉVEL GENERATING GRAPHS AND TEACHING THE KRUSKAL ALGORITHM USING EXCEL GRÁF GENERÁLÁS ÉS A KRUSKAL ALGORITMUS TANÍTÁSA EXCEL SEGÍTSÉGÉVEL GENERATING GRAPHS AND TEACHING THE KRUSKAL ALGORITHM USING EXCEL Kiss László Óbudai Egyetem, Rejtő Sándor Könnyűipari és Környezetmérnöki

Részletesebben

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

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember

Részletesebben

Programozás II. előadás

Programozás II. előadás Nem összehasonlító rendezések Nem összehasonlító rendezések Programozás II. előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Programozás II. 2 Rendezés

Részletesebben

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2 1) Az ábrán egy ; intervallumon értelmezett függvény grafikonja látható. Válassza ki a felsoroltakból a függvény hozzárendelési szabályát! a) b) c) ( ) ) Határozza meg az 1. feladatban megadott, ; intervallumon

Részletesebben

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

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek Adatbázis és szoftverfejlesztés elmélet Témakör 8. 1. Egy sorozathoz egy érték hozzárendelése Az összegzés tétele Összefoglalás Programozási tételek Adott egy számsorozat. Számoljuk és írassuk ki az elemek

Részletesebben

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t.. A Név: l 2014.04.09 Neptun kód: Gyakorlat vezető: HG BP MN l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 6x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 2 2 2 3 3 4 4 5 6

Részletesebben

Felvételi tematika INFORMATIKA

Felvételi tematika INFORMATIKA Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.

Részletesebben

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;... Egész számok természetes számok ( ) pozitív egész számok: 1; 2; 3; 4;... 0 negatív egész számok: 1; 2; 3; 4;... egész számok ( ) 1. Írd a következõ számokat a halmazábra megfelelõ helyére! 3; 7; +6 ; (

Részletesebben

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek

Részletesebben

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz 2018/2019 ősz Elérhetőségek Előadó: (safaro@math.bme.hu) Fogadóóra: hétfő 9-10 (H épület 3. emelet 310-es ajtó) A pontos tárgykövetelmények a www.math.bme.hu/~safaro/kalkulus oldalon találhatóak. A mátrix

Részletesebben

Algoritmusok és adatszerkezetek 2.

Algoritmusok és adatszerkezetek 2. Algoritmusok és adatszerkezetek 2. Varga Balázs gyakorlata alapján Készítette: Nagy Krisztián 1. gyakorlat Nyílt címzéses hash-elés A nyílt címzésű hash táblákban a láncolással ellentétben egy indexen

Részletesebben

Rekurzív algoritmusok

Rekurzív algoritmusok Rekurzív algoritmusok 11. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. november 14. Sergyán (OE NIK) AAO 11 2011. november 14. 1 / 32 Rekurzív

Részletesebben

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

Számláló rendezés. Példa Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással való összehasonlítása alapján működik leírja egy bináris döntési fa. Az algoritmus által a

Részletesebben

Összetett programozási tételek

Összetett programozási tételek Összetett programozási tételek 3. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 19. Sergyán (OE NIK) AAO 03 2011. szeptember

Részletesebben

4,5 1,5 cm. Ezek alapján 8 és 1,5 cm lesz.

4,5 1,5 cm. Ezek alapján 8 és 1,5 cm lesz. 1. Tekintse az oldalsó ábrát! a. Mekkora lesz a 4. sor téglalap mérete? b. Számítsa ki az ábrán látható három téglalap területösszegét! c. Mekkora lesz a 018. sorban a téglalap oldalai? d. Hány téglalapot

Részletesebben

Statisztikai szoftverek esszé

Statisztikai szoftverek esszé Statisztikai szoftverek esszé Csillag Renáta 2011. Helyzetfelmérés Egy internetszolgáltató egy havi adatforgalmát vizsgáltam. A táblázatok az előfizetők letöltési forgalmát tartalmazzák, napi bontásban,

Részletesebben

ELEMI PROGRAMOZÁSI TÉTELEK

ELEMI PROGRAMOZÁSI TÉTELEK ELEMI PROGRAMOZÁSI TÉTELEK 1. FELADATMEGOLDÁS PROGRAMOZÁSI TÉTELEKKEL 1.1 A programozási tétel fogalma A programozási tételek típusalgoritmusok, amelyek alkalmazásával garantáltan helyes megoldást adhatunk

Részletesebben

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

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 1. feladat: Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR). Írjon C programokat az alábbi kérdések

Részletesebben

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa: 1. Tétel Az állomány két sort tartalmaz. Az első sorában egy nem nulla természetes szám van, n-el jelöljük (5

Részletesebben

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

Programozás alapjai. 5. előadás 5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk

Részletesebben

Adatbázis rendszerek Gy: Algoritmusok C-ben

Adatbázis rendszerek Gy: Algoritmusok C-ben Adatbázis rendszerek 1. 1. Gy: Algoritmusok C-ben 53/1 B ITv: MAN 2015.09.08 Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás Gyorsrendezés 53/2 Összegzés

Részletesebben

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás.  Szénási Sándor. B-fa Felépítés, alapvető műveletek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar B-fa Felépítése Beszúrás művelete Törlés

Részletesebben

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások Megoldások 1. Oldd meg a következő egyenleteket! (Alaphalmaz: Z) a) (x 1) (x + 1) 7x + 1 = x (4 + x) + 2 b) 1 2 [5 (x 1) (1 + 2x) 2 4x] = (7 x) x c) 2 (x + 5) (x 2) 2 + (x + 1) 2 = 6 (2x + 1) d) 6 (x 8)

Részletesebben

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/ Operációkutatás I. 2018/2019-2. Szegedi Tudományegyetem Informatika Intézet Számítógépes Optimalizálás Tanszék 2. Előadás LP alapfeladat A lineáris programozás (LP) alapfeladata standard formában Max c

Részletesebben

1. ábra. Számláló rendezés

1. ábra. Számláló rendezés 1:2 2:3 1:3 1,2,3 1:3 1,3,2 3,1,2 2,1,3 2:3 2,3,1 3,2,1 1. ábra. Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással

Részletesebben

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/ Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatika Intézet Számítógépes Optimalizálás Tanszék 2. Előadás LP alapfeladat A lineáris programozás (LP) alapfeladata standard formában Max c

Részletesebben

Érettségi feladatok: Függvények 1/9

Érettségi feladatok: Függvények 1/9 Érettségi feladatok: Függvények 1/9 2003. Próba 1. Állapítsa meg a valós számok halmazán értelmezett x x 2-2x - 8 függvény zérushelyeit! 2004. Próba 3. Határozza meg a valós számok halmazán értelmezett

Részletesebben

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének 6. Függvények I. Elméleti összefoglaló A függvény fogalma, értelmezési tartomány, képhalmaz, értékkészlet Legyen az A és B halmaz egyike sem üreshalmaz. Ha az A halmaz minden egyes eleméhez hozzárendeljük

Részletesebben

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT ADATBÁZISOK 9-10. gyakorlat: SQL 2. rész SELECT SELECT utasítás általános alakja SELECT [DISTINCT] oszloplista FROM táblanévlista [WHERE feltétel] [GROUP BY oszloplista [HAVING feltétel] ] [ORDER BY oszloplista];

Részletesebben

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

Haladó rendezések. PPT 2007/2008 tavasz. Haladó rendezések szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Alapvető összehasonlító rendezések Shell rendezés Kupacrendezés Leszámláló rendezés Radix rendezés Edényrendezés

Részletesebben

Leképezések. Leképezések tulajdonságai. Számosságok.

Leképezések. Leképezések tulajdonságai. Számosságok. Leképezések Leképezések tulajdonságai. Számosságok. 1. Leképezések tulajdonságai A továbbiakban legyen A és B két tetszőleges halmaz. Idézzünk fel néhány definíciót. 1. Definíció (Emlékeztető). Relációknak

Részletesebben

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Felvételi vizsga mintatételsor Informatika írásbeli vizsga BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 3. gyakorlat Tömbök, programozási tételek Surányi Márton PPKE-ITK 2010.09.21. ZH! PlanG-ból papír alapú zárthelyit írunk el reláthatólag október 5-én! Tömbök Tömbök Eddig egy-egy

Részletesebben

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

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 Keresés Rendezés Feladat 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 2016. november 7. Farkas B., Fiala

Részletesebben

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1 Halmazok 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 2 A fejezet legfontosabb elemei Halmaz megadási módjai Halmazok közti műveletek (metszet,

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 1 I. HALmAZOk 1. JELÖLÉSEk A halmaz fogalmát tulajdonságait gyakran használjuk a matematikában. A halmazt nem definiáljuk, ezt alapfogalomnak tekintjük. Ez nem szokatlan, hiszen

Részletesebben

Komputer statisztika gyakorlatok

Komputer statisztika gyakorlatok Eszterházy Károly Főiskola Matematikai és Informatikai Intézet Tómács Tibor Komputer statisztika gyakorlatok Eger, 2010. október 26. Tartalomjegyzék Előszó 4 Jelölések 5 1. Mintagenerálás 7 1.1. Egyenletes

Részletesebben

Programozási módszertan. Mohó algoritmusok

Programozási módszertan. Mohó algoritmusok PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás

Részletesebben

Térinformatikai algoritmusok Elemi algoritmusok

Térinformatikai algoritmusok Elemi algoritmusok Cserép Máté 2016. szeptember 14. Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot

Részletesebben

A valós számok halmaza

A valós számok halmaza VA 1 A valós számok halmaza VA 2 A valós számok halmazának axiómarendszere és alapvető tulajdonságai Definíció Az R halmazt a valós számok halmazának nevezzük, ha teljesíti a következő axiómarendszerben

Részletesebben

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

Programozási tételek. Dr. Iványi Péter Programozási tételek Dr. Iványi Péter 1 Programozási tételek A programozási tételek olyan általános algoritmusok, melyekkel programozás során gyakran találkozunk. Az algoritmusok általában számsorozatokkal,

Részletesebben

Gráfelméleti feladatok. c f

Gráfelméleti feladatok. c f Gráfelméleti feladatok d e c f a b gráf, csúcsok, élek séta: a, b, c, d, e, c, a, b, f vonal: c, d, e, c, b, a út: f, b, a, e, d (walk, lanţ) (trail, lanţ simplu) (path, lanţ elementar) 1 irányított gráf,

Részletesebben

Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:

Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra: Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra: C(T ) = (u,v) T c(u,v) Az F = (V,T) gráf minimális feszitőfája G-nek,

Részletesebben

Mohó algoritmusok. Példa:

Mohó algoritmusok. Példa: Mohó algoritmusok Optimalizálási probléma megoldására szolgáló algoritmus sokszor olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. Ezt gyakran dinamikus programozás alapján

Részletesebben

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

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I. Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom 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

Részletesebben

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 4 IV. FÜGGVÉNYEk 1. LEkÉPEZÉSEk, függvények Definíció Legyen és két halmaz. Egy függvény -ből -ba egy olyan szabály, amely minden elemhez pontosan egy elemet rendel hozzá. Az

Részletesebben

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 4 IV. MINTA, ALAPsTATIsZTIKÁK 1. MATEMATIKAI statisztika A matematikai statisztika alapfeladatát nagy általánosságban a következőképpen

Részletesebben

3. Egyenletek, egyenletrendszerek, egyenlőtlenségek

3. Egyenletek, egyenletrendszerek, egyenlőtlenségek . Egyenletek, egyenletrendszerek, egyenlőtlenségek I. Nulladik ZH-ban láttuk: 1. Mennyi a 2x 2 8x 5 = 0 egyenlet gyökeinek a szorzata? (A) 10 (B) 2 (C) 2,5 (D) 4 (E) ezek egyike sem Megoldás I.: BME 2011.

Részletesebben

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

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 1 Információk 2 A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin Elérhetőség mesko.katalin@tfk.kefo.hu Fogadóóra: szerda 9:50-10:35 Számonkérés időpontok Április 25. 9 00 Május 17. 9 00 Június

Részletesebben

Térinformatikai algoritmusok Elemi algoritmusok

Térinformatikai algoritmusok Elemi algoritmusok Cserép Máté Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot oldottuk meg korábban,

Részletesebben

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

Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24. Rendezések 8. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. október 24. Sergyán (OE NIK) AAO 08 2011. október 24. 1 / 1 Felhasznált irodalom

Részletesebben

Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás.   Szénási Sándor Gráfok 2. Legrövidebb utak, feszítőfák előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Legrövidebb utak keresése Minimális feszítőfa keresése Gráfok 2

Részletesebben

A számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni.

A számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni. Példák számok kiírására A számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni. Decimális számok kiírása Az alábbi

Részletesebben

HALMAZOK TULAJDONSÁGAI,

HALMAZOK TULAJDONSÁGAI, Halmazok definíciója, megadása HALMAZOK TULAJDONSÁGAI, 1. A következő definíciók közül melyek határoznak meg egyértelműen egy-egy halmazt? a) A: a csoport tanulói b) B: Magyarország városai ma c) C: Pilinszky

Részletesebben

Struktúra nélküli adatszerkezetek

Struktúra nélküli adatszerkezetek Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Tömb Ugyanolyan típusú elemeket tárol A mérete előre definiált kell legyen és nem lehet megváltoztatni futás során Legyen n a tömb mérete. Ekkor:

Részletesebben

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények ) Az ábrán egy ; intervallumon értelmezett függvény grafikonja látható. Válassza ki a felsoroltakból a függvény hozzárendelési szabályát! a) x

Részletesebben

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

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat 9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:

Részletesebben

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek Sorozatszámítás tétele Például az X tömbben kövek súlyát tároljuk. Ha ki kellene számolni az összsúlyt, akkor az S = f(s, X(i)) helyére S = S + X(i) kell írni. Az f0 tartalmazza

Részletesebben

A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória Oktatási Hivatal 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató INFORMTIK II. (programozás) kategória Kérjük a tisztelt tanár kollégákat, hogy a dolgozatokat

Részletesebben

Gyakorló feladatok ZH-ra

Gyakorló feladatok ZH-ra Algoritmuselmélet Schlotter Ildi 2011. április 6. ildi@cs.bme.hu Gyakorló feladatok ZH-ra Nagyságrendek 1. Egy algoritmusról tudjuk, hogy a lépésszáma O(n 2 ). Lehetséges-e, hogy (a) minden páros n-re

Részletesebben

Acta Acad. Paed. Agriensis, Sectio Mathematicae 29 (2002) PARTÍCIÓK PÁRATLAN SZÁMOKKAL. Orosz Gyuláné (Eger, Hungary)

Acta Acad. Paed. Agriensis, Sectio Mathematicae 29 (2002) PARTÍCIÓK PÁRATLAN SZÁMOKKAL. Orosz Gyuláné (Eger, Hungary) Acta Acad. Paed. Agriensis, Sectio Mathematicae 9 (00) 07 4 PARTÍCIÓK PÁRATLAN SZÁMOKKAL Orosz Gyuláné (Eger, Hungary) Kiss Péter professzor emlékére Abstract. In this article, we characterize the odd-summing

Részletesebben

7. előadás. Gyorsrendezés, rendezés lineáris lépésszámmal. Adatszerkezetek és algoritmusok előadás március 6.

7. előadás. Gyorsrendezés, rendezés lineáris lépésszámmal. Adatszerkezetek és algoritmusok előadás március 6. 7. előadás, rendezés lineáris lépésszámmal Adatszerkezetek és algoritmusok előadás 2018. március 6.,, és Debreceni Egyetem Informatikai Kar 7.1 Általános tudnivalók Ajánlott irodalom: Thomas H. Cormen,

Részletesebben

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak

Részletesebben

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA 26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA Az előző két fejezetben tárgyalt feladat általánosításaként a gráfban található összes csúcspárra szeretnénk meghatározni a legkisebb költségű utat. A probléma

Részletesebben

11. Sorozatok. I. Nulladik ZH-ban láttuk:

11. Sorozatok. I. Nulladik ZH-ban láttuk: 11. Sorozatok I. Nulladik ZH-ban láttuk: 1. Egy számtani sorozat harmadik eleme 15, a nyolcadik eleme 30. Mely n természetes számra igaz, hogy a sorozat első n elemének összege 6? A szokásos jelöléseket

Részletesebben

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 3. gyakorlat PLanG: 2011.09.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok

Részletesebben

Shannon és Huffman kód konstrukció tetszőleges. véges test felett

Shannon és Huffman kód konstrukció tetszőleges. véges test felett 1 Shannon és Huffman kód konstrukció tetszőleges véges test felett Mire is jók ezek a kódolások? A szabványos karakterkódolások (pl. UTF-8, ISO-8859 ) általában 8 biten tárolnak egy-egy karaktert. Ha tudjuk,

Részletesebben

I. Egyenlet fogalma, algebrai megoldása

I. Egyenlet fogalma, algebrai megoldása 11 modul: EGYENLETEK, EGYENLŐTLENSÉGEK MEGOLDÁSA 6 I Egyenlet fogalma, algebrai megoldása Módszertani megjegyzés: Az egyenletek alaphalmazát, értelmezési tartományát később vezetjük be, a törtes egyenletekkel

Részletesebben

Logikai szita (tartalmazás és kizárás elve)

Logikai szita (tartalmazás és kizárás elve) Logikai szita (tartalmazás és kizárás elve) Kombinatorika 5. előadás SZTE Bolyai Intézet Szeged, 2016. március 1. 5. ea. Logikai szita két halmazra 1/4 Középiskolás feladat. Egy 30 fős osztályban a matematikát

Részletesebben

2014. szeptember 24. és 26. Dr. Vincze Szilvia

2014. szeptember 24. és 26. Dr. Vincze Szilvia 2014. szeptember 24. és 26. Dr. Vincze Szilvia Mind a hétköznapi, mind a tudományos életben gyakran előfordul, hogy bizonyos halmazok elemei között kapcsolat figyelhető meg. A kapcsolat fogalmának matematikai

Részletesebben

Alkalmazott modul: Programozás

Alkalmazott modul: Programozás Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Feladatgyűjtemény Összeállította: Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Frissítve: 2015.

Részletesebben

függvény grafikonja milyen transzformációkkal származtatható az f0 : R R, f0(

függvény grafikonja milyen transzformációkkal származtatható az f0 : R R, f0( FÜGGVÉNYEK 1. (008. okt., 14. fel, 5+7 pont) Fogalmazza meg, hogy az f : R R, f ( x) x 1 függvény grafikonja milyen transzformációkkal származtatható az f0 : R R, f0( x) x függvény grafikonjából! Ábrázolja

Részletesebben