Algoritmusok és adatszerkezetek

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

Download "Algoritmusok és adatszerkezetek"

Átírás

1 Algoritmusok és adatszerkezetek Feladatgy jtemény a gyakorlatokhoz Szerkeszti: Hunyadvári László és Fekete István (Ideiglenes változat) Programtervez matematikus szak Alkalmazott matematikus szak ELTE TTK Általános számítástudományi Tanszék Budapest, 2002.

2 Algoritmusok m veletigénye Ennek a tárgynak a keretében számos algoritmust ismernek meg a hallgatók. Minden egyes algoritmus esetén megállapításra kerül annak m veletigénye. Ez vagy számolást történik, vagy nyilvánvaló esetben korábbi tapasztalatainkra való hivatkozással. A bevezet el adásban két algoritmus kerül elemzésre, ezeket (E) jelöli az alábbi feladat sorban, gyakorlaton nem kell velük foglalkozni. 1. Elemezzük a lineáris keresés I. változatát. A csupa különböz elemeket tartalmazó A[1..n] tömbben keressük az els B tulajdonságú elemet, ha tudjuk, hogy van ilyen elem a tömbben. (Egyszer bb változatban: keressük egy olyan x érték els el fordulását, amelyet a tömb tartalmaz.) Hányszor kell a B tulajdonságot kiszámítani (ill. tömbelemet x-szel összehasonlítani) a legkedvez bb, a legrosszabb és az átlagos esetben? Az átlagos lépésszám kiszámításához tegyük fel, hogy minden elemet egyforma valószín séggel keresünk. 2. Elemezzük a lineáris keresés II. változatát. A csupa különböz elemet tartalmazó A[1..n] tömbben keressük az els B tulajdonságú elemet, de nem biztos, hogy van ilyen elem a tömbben. (Egyszer bb változatban: keressük egy olyan x érték els el fordulását, amelyet a tömb nem feltétlenül tartalmaz.) Hányszor kell a B tulajdonságot kiszámítani (ill. tömbelemet x-szel összehasonlítani) a legkedvez bb, a legrosszabb és az átlagos esetben? Az átlagos lépésszám kiszámítását végezzük el két különböz feltevés mellett is: a) Ugyanakkora valószín séggel ( 1 n + ) keresünk nem létez értéket, illetve keressük 1 bármelyik létez elemet. b) Egyaránt az esetek felében keresünk nem létez elemet, ill. létez elemet. Az utóbbi esetben minden elemet egyforma valószín séggel ( 1 ) keresünk. 3. Egy polinom helyettesítési értékét kell adott helyen kiszámítanunk. Adott az n számú a együttható, valamint az x valós szám, és a 0, a1,, a n 1 2n n 1 i= 0 meghatározni. a) Hány szorzást végez az az algoritmus, amely számolja? b) Írjuk meg a Horner-séma algoritmusát, amely a következ eljárást követi: n 1 i= 0 a x Hány szorzást végez ez az eljárás? ( ( a x a ) x a ) x a i i = n 1 + n a i i x értékét szeretnénk i x értékét i számú ismételt szorzással 4. (E) Hány korongmozgatással lehet megoldani a Hanoi tornyai problémát? Vegyük alapul a probléma rekurzív megoldását és annak alapján írjuk fel a lépésszám rekurzív egyenletét. 5. (E) Határozzuk meg, hogy hány összehasonlítást, illetve cserét végez a buborékrendezés a legrosszabb, a legjobb és az átlagos esetben. Az átlagos eset számításához tegyük fel, hogy az elemek mind különböz k és minden permutációjuk egyformán valószín. 6. Adjunk rekurzív algoritmust a buborékrendezésre a következ ötlet alapján: az A[1..n] tömböt úgy rendezzük, hogy el bb rendezzük magával a buborékrendezéssel az A[2..n] résztömböt, majd az A[1] elemet szomszédos elemek cseréjével a helyére 0 2

3 "buborékoltatjuk" (rekurzív hívás + ciklus). Írjuk fel az összehasonlítások számának rekurzív egyenletét és oldjuk meg azt. 7. Módosítsuk a buborékrendezést úgy, hogy ha egy menetben már nem volt csere az A[1..j] résztömbben, akkor az eljárás megáll (mivel a tömb rendezett). Változik-e ez által a cserék száma? Változik-e az összehasonlítások száma a legrosszabb és legjobb esetben? (Az átlagos esetet nem kell vizsgálni.) 8. Elemezzük a beszúró rendezést. Határozzuk meg összehasonlítások és az elemmozgatások számát a legrosszabb, a legjobb és az átlagos esetben. Hasonlítsuk össze a buborék és a beszúró rendezés hatékonyságát. Vegyük úgy, hogy egy csere három elemmozgatással valósítható meg. 9. A számítógépes matematikai eljárások egy valós szám nemnegatív egész kitev s hatványát ügyes ismételt szorzásokkal számítják ki úgy, hogy közben magát a kitev t kett hatványainak összegeként alakítják ki. Határozzuk meg, hogy az alábbi Legendrealgoritmus hány szorzást végez a legjobb és a legrosszabb esetben. FvLegendre(a,k) a=0 s:=0 s:=1 k>0 2 k a:=a*a k:=k/2 s:=s*a k:=k-1 Return(s) 10. Nagyságrendben hány szorzással kapjuk meg a polinom helyettesítési értékét, ha a i számítást az eredeti képletnek megfelel en végezzük (lásd: 3. feladat), de az x értékeket a Legendre-algoritmussal (lásd: 9. feladat) számoljuk? 11. Elemezzük a bináris (logaritmikus) keresést speciális esetben, illetve "könnyített" módon. a) Hány összehasonlítást végez a bináris keresés a legrosszabb esetben, ha n=2 k -1 (k 1)? b) Ellen rizzük néhány más n-re is, hogy az összehasonlítások pontos száma a legrosszabb esetben: MÖ(n) = [log 2 n]+1 c) Írjunk fel az összehasonlítások maximális számára egy közelít rekurzív egyenletet, amelyben nem használjuk az egészrészt. Oldjuk meg ezt az egyenletet. d) Rajzoljuk le a bináris keresés "szerkezetét" bináris fával. Hogyan értelmezhetjük eddigi eredményeinket? 3

4 e) Mondjuk meg, hogy az összehasonlítások átlagos száma milyen nagyságrend lehet, milyen együtthatóval. Indokoljuk válaszunkat. Az aszimptotikus jelölések tulajdonságai Függvények aszimptotikus növekedése Az el adáson bevezetésre kerülnek az O,,, o, és jelölések, amelyek segítségével két függvény aszimptotikus viszonya jellemezhet. Ezekre a definíciókra alapozva építjük fel a függvények aszimtotikájának az elméletét. Az el adáson nem bizonyítjuk az elhangzó tételeket, tulajdonságokat. Az alábbi feladatok ezért jórészt ezeknek az állításoknak az igazolását t zik ki célul. A feladat sorszáma mellett álló "(E)" utal erre, vagyis azt jelenti, hogy a feladatban megfogalmazott állítás az el adáson kimondásra került. 1. (E) Bizonyítsuk be az aszimptotikus függvényosztályok alábbi tulajdonságait: a) Tranzitivitás: O,,, o, és. b) Reflexivitás: O,,. c) Szimmetria:. 2. (E) Bizonyítsuk be az ún. felcserélt szimmetria tulajdonságát: a) f = O( g) g = Ω( f ). b) f = o( g) g = ( f ). 3. (E) Bizonyítsuk be, hogy az O,,, o, és függvényosztályok zártak az összeadásra és a számmal való szorzásra nézve. Pl.: Legyen f = O(h) és g = O(h), valamint c > 0. Lássuk be, hogy ekkor f + g = O(h), ill. cf = O(h). 4. (E) Lássuk be, hogy összegben a nagyobb függvény meghatározza az aszimptotikát: max{ f, g} = Θ( f + g). (Két szekvenciába kapcsolt algoritmus m veletigénye aszimptotikusan ugyanannyi, mint a nagyobbik m veletigény.) 5. (E) Lássuk be, hogy a) f = Θ( g) f = O( g) és f = Ω(g), b) o( g) ω ( g) = Ø. 6. (E) Az aszimptotikus kapcsolat meghatározása a két függvény hányadosának határértéke alapján. Tegyük fel, hogy létezik a határérték (amelyet alább egyszer bb alakban írunk). Bizonyítsuk be, hogy ekkor a) f 0 lim = { g c > 0 b) f lim = { g c > 0 c) f lim = c > 0 g f = O(g) d) f lim = 0 g f = Ω(g) e) f = g f = Θ(g) f = o(g) lim f = ω(g) 4

5 7. (E) Lássuk be, hogy polinom esetén a legmagasabb fokú tag meghatározza a nagyságrendet: k k 1 k a n + a n + + a n + n = Θ( n ). k k (E) Lássuk be, hogy log a n = Θ(logb n), ahol a, b > 1. (A logaritmus alapszámának nincs szerepe az aszimptotikus viselkedés szempontjából.) a a+ε a a+ε a a+ε 9. (E) Lássuk be, hogy n = o( n ) azaz n = O( n ) és n Θ( n ), ahol a 0 és ε > 0. (Polinomiális lépésszám esetén a legmagasabb fokú tag kitev jében a legcsekélyebb változás is éles aszimptotikus változást eredményez.) 10. (E) Hasonlítsuk össze aszimptotikusan a következ függvényeket: log n, n, log n, n, 2 n, 3 n, n. (Számíthatjuk a hányados határértékét és alkalmazhatjuk a L'Hospitalszabályt.) n 2,! 2 3 n 11. Adottak az alábbi fiktív futási id k: log 2 n, n, log 2 n, n, n, n, 2, n!. Tegyük fel, hogy a függvények értékeit 10-6 mp-ben értjük. Számítsuk ki a futási id ket n=1, 10, 100,..., esetén és váltsuk át a legnagyobb értelmes id egységbe (mp, perc, óra, nap, hónap, év, évszázad, évezred). 2 2 Absztrakt adattípus specifikálása A tananyagban szerepl egyszer típusok/adatszerkezetek a következ k: tömb, verem, sor, els bbségi sor, listák, fák, gráfok. Ezek közül a verem, sor és az els bbségi sor ADT szint specifikációit kell tudni vizsgán. (Az absztrakt verem típus specifikációja szerepel el adáson.) Ez a három feladat a feladatgy jteményben a megfelel adatszerkezeteknél szerepel. Itt most egy negyedik feladat következik. 1. A zsák olyan "halmazszer " típus, amelyben egy elem többször is el fordulhat. Az elemeknek tehát multiplicitásuk van. A következ típusm veleteket értelmezzük: - Üres: az üres zsák létrehozása, egyben az üres zsák jele/neve. - Üres-e (z): logikai érték függvény, annak lekérdezése, hogy a z zsák üres-e. - Szám (z,e): nemnegatív egész érték függvény, amely megadja, hogy a z zsák hány példányban tartalmazza az e elemet. - Be (z,e): a z szákban elhelyezi az e elemet, eredménye az egy elemmel b vített z zsák. - Ki (z,e): ha az e elem nem szerepel z-ben, akkor z változatlan marad, ha viszont z tartalmazza e-t, akkor a m velet egy el fordulást eltávolít és "eldobja" azt, az eredmény mindenképpen a z zsák új változata, változatlan vagy csökkentett mérettel. Adjuk meg a zsák adattípus algebrai (axiomatikus) specifikációját. 2. Adjuk meg az el z feladatban szerepl zsák típus funkcionális (el - utófeltételes) specifikációját. Használhatjuk az (elem, multiplicitás) rendezett párok halmazát, mint matematikai reprezentációt. 5

6 Tömbök Tömbök aritmetikai ábrázolása (címfüggvények) Az alábbi feladatokban általában valamilyen speciális tömböt kell tömören elhelyezni az (absztrakt) memória "celláinak" az egymás utáni sorában, adott címt l kezd d en. Az elhelyezés általában sorfolytonos, ritkán oszlopfolytonos. A feladat ilyen esetben a címfüggvény megadása az elhelyezés kezd címének és egy tömbelem helyfoglalásának (méretének) a figyelembe vételével. Egyszer sítsük a feladatot az indexfüggvény megadására! Tegyük fel, hogy adott egy kell méret vektor, amelynek alaptípusa ugyanaz, mint az elhelyezend adatelemek típusa. Az elhelyezést a vektor 1. elemét l kezdjük. Az indexfüggvény az elhelyezend tömb tetsz leges elemének az indexkifejezéséhez megadja azt az indexet a vektorban, amelyik mutatja azt a helyet, ahová az elem került. Az elhelyezés legyen mindig sorfolytonos, ha mást nem mondunk. Ügyeljünk arra, hogy az elhelyezend tömb "értéktelen" nulla elemeit is tegyük le egyszer a vektorban, és ennek az elemnek az indexét építsük be az indexfüggvénybe. Ne felejtsük el az indexek lehetséges értéktartományait mindig megadni. Az indexfüggvény helyességét célszer néhány érték behelyettesítésével ellen rizni. 1. Adjuk meg az A[1..m, 1..n] mátrix cím- és indexfüggvényét sor- és oszlopfolytonos elhelyezés mellett is. 2. Adott egy mxn-es mátrix sorfolytonos elhelyezése a B[1..m*n] tömbben. Írjuk át az elemeket a C[1..m*n] tömbbe oszlopfolytonos elhelyezés szerint. 3. Írjuk fel az A[1..l, 1..m, 1..n] 3-dimenziós tömb szekvenciális elhelyezésének az indexfüggvényét. 4. Adjuk meg az alsóháromszög-mátrix szekvenciális elhelyezésének az indexfüggvényét. Az A[1..n, 1..n] mátrix alsó háromszögét a f átló és az ez alatti elemek alkotják. Ha tudjuk, hogy csak itt lehetnek nullától különböz elemek, akkor az alsó háromszög mátrix minden "értékes" elemet tárol elegend tehát csak ezt a részt, valamint a nulla egy példányát tárolni. 5. Egy f átlójára szimmetrikus négyzetes mátrix takarékos tárolását valósítsuk meg az alsó háromszögének tömbös elhelyezésével. Mi lesz az indexfüggvény? Fejezzük ki A[i+1, j] és A[i, j+1] indexét A[i, j] indexének ismeretében. 6. A tridiagonális mátrix egy olyan négyzetes mátrix, amelynek a f átlójában és közvetlenül a felett és az alatt (vele párhuzamosan, ferdén) találhatunk nullától különböz elemeket. Milyen indexfüggvény írja le ezeknek az elemeknek (valamint egy példányban a nulla elemnek) az elhelyezését? 7. Írjuk fel az alsó Hessenberg-mátrix indexfüggvényét. Ez az alsó háromszög mátrixhoz képest még egy átlószer ferde sort tartalmaz, közvetlenül a f átló fölött. 8. A négyzetes pepita mátrix kétféle elemet tartalmaz: nullától különböz t és nullát. Az A[1,1] elem értéke nem nulla, mellette és alatta nullák állnak. Általában minden nem nulla elemnek a vízszintes és függ leges irányú szomszédjai nullák, és fordítva. (Átlósan nézve 6

7 pedig egynem ek az elemek.) Adjuk meg a takarékos ábrázolás indexfüggvényét. (Ne feledkezzünk el arról, hogy a 0-értéket is eltároljuk egyszer.) 9. Az A[1..n]-t blokkmátrixnak nevezzük, ha csak a f átlójára mentén tartalmaz nullától különböz elemeket, mégpedig átlósan a f átlóra fektetett, egymással érintkez négyzetekben. Az egyes négyzetek méretét a B[1..k] tömb tartalmazza. A B-beli elemek összege természetesen n-et ad. Írjuk meg a blokkmátrix aritmetikai ábrázolásának indexfüggvényét, mint függvény eljárást. Tömbök láncolt ábrázolása A ritka, vagy más néven hézagosan kitöltött mátrixok szokásos ábrázolási formája a következ. Képzeljük magunk elé a ritkásan kitöltött A[1..m,1..n] mátrixot. Alakítsunk ki egy olyan rekordszerkezetet, amelyben minden beírt nem-nulla értéket négy további mez kísér. Az els kett be írjuk be az elem sor- és oszlop-indexét. A másik kett ben pedig helyezzünk el egy-egy pointert, amelyek rendre a sor illetve az oszlop következ elemére mutatnak, ha pedig nem lenne ilyen további elem, akkor a megfelel pointer értéke NIL. Azért, hogy sorok illetve az oszlopok els elemeit el tudjuk érni, rájuk mutató pointerekkel egészítjük ki az ábrázolást. Képzeljünk el a mátrix bal oldalán egy függ leges S[1..m] vektort, és helyezzük el benne a sorok els elemeire mutató pointereket, illetve NIL-t, ha a sor üres. A mátrix fölé rajzoljuk vízszintesen az O[1..n] vektort, amelyben az oszlopok els elemeire mutató pointereket (illetve NIL-eket) tároljuk. Így már eljuthatunk a mátrix minden eleméhez. Megjegyezzük, hogy az S és az O vektorok alkalmazhatunk egy-egy (fejelem nélküli) listát, amelynek minden eleme két pointert tartalmaz: az egyiknek ugyanaz a szerepe, mint az iménti tömbös változatban, a másik pedig magában a listában mutat a következ elemre. 1. Milyen kitöltöttségi arány mellett érdemes a mátrixok láncolt ábrázolását használni? (Tegyük fel, hogy a mutatók 1 byte-ot, a mátrix-elemek pedig t byte-ot foglalnak el.) 2. Írjunk olyan függvény-eljárást, amely visszaadja az A[i,j] elem értékét. 3. Írjuk meg azt az eljárást, amelyik végrehajtja az A[i,j]:=a értékadást. (Ha az elem értéke nulláról változik meg, akkor létre kell hozni és be kell f zni a láncolt struktúrába, ha pedig most válik nullává az értéke, akkor törölni kell.) 4. Adjuk meg a konverzió algoritmusát, amellyel a hagyományos formájú mátrixot láncolt ábrázolásúvá alakítjuk. (Feladat lehet a másik irány is.) 5. Írjunk programot, amely egy láncolt ábrázolású mátrixról megállapítja, hogy szimmetrikus-e. 6. Írjuk meg a C:=A+B mátrix összeadás eljárását. Legyen C is láncolt ábrázolású. 7

8 Verem 1. (E) Adjuk meg a verem adattípus algebrai (axiomatikus) specifikációját. (M veletek: Empty, IsEmpty, Push, Pop, Top.) 2. Adjuk meg a verem funkcionális (el -, utófeltételes) specifikációját. Használjuk a verem következ matematikai reprezentációját. Az absztrakt verem olyan elempárok halmaza, amelyekben az 1. komponens a verembe betett tulajdonképpeni érték, a 2. komponens pedig a behelyezés id pontja. (Bármely két id pont különbözik). 3. Készítsük el a verem aritmetikai (tömbös) reprezentációját. A vermet a (megfelel alaptípusú) V[1..max] tömbben ábrázoljuk, az aktuális kitöltöttséget a fels elem "top" indexe jelzi. Adjuk meg a veremm veletek algoritmusait. A m veletek között megjelenik az IsFull lekérdezés. 4. Reprezentáljuk a vermet láncolt adatszerkezettel (fejelem nélküli listával). Írjuk fel a m veletek algoritmusait. 5. (E) Adjuk meg a helyes zárójelezés definícióját, többféleképpen is. 6. (E) A helyes zárójelezés tétele. Egy szekvenciális input sorozat a "(" és ")" karakterekb l álló helyes zárójelezést tartalmaz. Írjunk olyan, vermet használó eljárást, amely az összetartozó zárójel párok sorszámait egymás sorban mellé írja. Pl. ((())()) 3,4,2,5,6,7,1,8. 7. Döntsük el verem használatával egy "(" és ")" karakterekb l álló sorozatról, hogy helyes zárójelezés-e. 8. Döntsük el vermes algoritmussal, hogy egy "(,),[,]" karakterekb l összeállított sorozat helyes zárójelezés-e. Ehhez el bb terjesszük ki a fogalmat értelemszer en, azzal a megszorítással kiegészítve, hogy gömböly zárójel pár belsejében nem lehet szögletes zárójel pár. (Kiegészíthet a zárójelek köre még a "{,}" zárójelekkel is.) 9. Ellen rizzük verem segítségével, hogy egy szekvenciális input sorozat tükörszót tartalmaz-e. (A tükörszó mindig páros hosszúságú, pl. "abba" v. "indulaaludni"; nem tükörszó pl. a "görög".) a) A sorozat hossza adott. b) A sorozat hosszát nem ismerjük. 10. Definiáljuk a lengyel forma fogalmát olyan kifejezésekre, amelyek +,-,*,/ és (hatványozás) két-operandusú m veleti jeleket tartalmazzák - az operandusok és a (,) zárójelpárok mellett. Terjesszük ki a meghatározást az értékadásra is. A m veletek precedenciája: (1), (2) * és / egyforma, (3) + és - egyforma, (4) :=. Azonos precedenciájú m veleti jelek esetén általában balról-jobbra szabály érvényesül, kivétel a operátor, amelyek körében jobbról-balra szabály mérvadó. 11. Körvonalazzuk a lengyel formára hozás vermes algoritmusát: milyen tevékenységet hajtunk végre a kifejezés egyes elemeire. 12. Hozzuk lengyel formára a következ kifejezést: 8

9 x := (a*b+1)/((x^y^2+u*(v-1))*(f+g-(h+3)*4)) Adjuk meg lengyel formát olyan módon, hogy az operandusok fölé rajzoljuk oda a verem tartalmát az illet operandus kiírásakor. 13. Adott egy kifejezés lengyel formája szekvenciális input sorozat formájában. Tegyük fel, hogy sorozat minden eleme a lengyel forma egy egységét tartalmazza. Rendelkezünk továbbá olyan függvényekkel, amelyek segítségével ezek megkülönböztethet k: m veleti jelek, operandusok: konstansok és változók. Olyan függvényünk is van, amely egy változó értékét szolgáltatja. Írjunk olyan vermes algoritmust, amely kiszámítja egy lengyel formában felírt kifejezés értékét. Sor 1. Adjuk meg a sor adattípus algebrai (axiomatikus) specifikációját. (M veletek: Empty, IsEmpty, In, Out, First.) 2. Adjuk meg a sor funkcionális (el -, utófeltételes) specifikációját. Használjuk a sor következ matematikai reprezentációját. Az absztrakt sor olyan elempárok halmaza, amelyekben az 1. komponens a sorba beállított tulajdonképpeni érték, a 2. komponens pedig a behelyezés id pontja. (Bármely két id pont különbözik). 3. Készítsük el a sor aritmetikai (tömbös) reprezentációját. A sort a (megfelel alaptípusú) S[1..max] tömbben ábrázoljuk, az aktuális kitöltöttséget az utolsó elem "last" indexe jelzi. Adjuk meg a sor m veletek algoritmusait. A m veletek között megjelenik az IsFull lekérdezés. (A hibakezelést nem kell kidolgozni.) 4. Reprezentáljuk a sort láncolt adatszerkezettel (fejelem nélküli listával). Írjuk fel a m veletek algoritmusait. Ide sorolható még a bináris fa szintfolytonos bejárásának feladata. Lásd: Bináris fák, 3. feladat. Els bbségi sor 1. (E) Adjuk meg az els bbségi sor adattípus algebrai (axiomatikus) specifikációját. Éljünk azzal az egyszer sítéssel, hogy a sor elemei maguk a prioritási értékek (természetes számok). 2. Ábrázoljuk az els bbségi sort rendezetlen tömbbel. A P[1..max] tömb tartalmazza a beérkezett n számú prioritási értéket, méghozzá a beérkezés sorrendjében. Írjuk meg az egyes m veletek algoritmusait és adjuk meg a bennük szerepl összehasonlítások maximális és átlagos számát. 9

10 3. Ábrázoljuk az els bbségi sort rendezett tömbbel. A P[1..max] tömb tartalmazza a beérkezett n számú prioritási értéket, méghozzá nagyság szerint csökken sorrendjében. A rendezettséget tehát minden beszúrás és törlés után fenn kell tartani. Írjuk meg az egyes m veletek algoritmusait és adjuk meg a bennük szerepl összehasonlítások maximális és átlagos számát. Listák (láncolt ábrázolás) A cím magyarázata a következ. A láncolt (v. pointeres) ábrázolás egy olyan reprezentációs technika, amely minden adattípus esetén alkalmazható. A (többféle) lista viszont típus, beleértve a listam veleteket is. A listákat általában mutatók segítségével - tehát láncoltan - ábrázolják. A szakmai köztudatban ezért gyakran keveredik a két fogalom. Az el adáson az hangzik el, hogy típus = adatszerkezet + m veletek, és az adatszerkezethez csak a m veleteken keresztül lehet hozzáférni. Így a lista önmagában csak adatszerkezet, a m veleteivel együtt már típus. A következ feladatok megoldása során (ahol ez értelmes) mindig gondoljuk meg a két megoldási szint lehet ségét, egyszer ségét és hatékonyságát: I. közvetlen pointerkezelés az ábrázolás szintjén, II. megoldás a típus m veleteivel. Ha egy feladatban nem szerepel az, hogy van-e fejelem, akkor a megoldóra bízzuk az ezzel kapcsolatos megfontolásokat. 1. (E) Definiáljuk az egyirányú fejelem nélküli lista típust. Adjuk meg a bevezetett m veletek algoritmusait. 2. Tervezzük meg az egyirányú fejelemes lista típust. Vannak-e különbségek a felhasználói felületben a fejelem nélküli változathoz képest: tud-e a felhasználó a fejelem létér l, melyek a m veletek, hogyan m ködnek? 3. Tervezzük meg a fejelemes kétirányú ciklikus lista típust. Adjuk meg a m veletek algoritmusait. 4. Egy egyirányú lista egy polinom együtthatóit tartalmazza fokszám szerint csökken sorrendben. (Ha egy együttható nulla, akkor is szerepel a listában.) Írjuk meg a Hornereljárást, amely kiszámítja a polinom helyettesítési értékét egy adott helyen. 5. Írjunk meg azt az algoritmust, amely egy egyirányú listában megfordítja az elemek sorrendjét. 6. (E) Rendezett lista építése. Az S szekvenciális input file egész számokat tartalmaz. Minden egyes beolvasott számot azonnal elhelyezzük az L egyirányú listában, mégpedig úgy hogy a lista mindig rendezett legyen. 7. Adott két rendezett fejelemes lista. A listákban (külön-külön) minden érték (kulcs) egyedi, azaz egyik sem fordul el többször. Futtassuk össze a két listát egy harmadik fejelemes listába (unió képzése). 8. Oldjuk meg az el z feladatot azzal a módosítással, hogy a két lista unióját az els ben állítjuk el, azaz a második listát az els be f zzük. 10

11 9. Egy fejelemes kétirányú ciklikus listában a bal oldali pointerlánc megsérült. Állítsuk helyre azt a jobb oldali mutatók alapján. 10. Adott egy fejelemes kétirányú ciklikus lista, amelynek minden elemében egy-egy bet található. Döntsük el, hogy szimmetrikus-e a listában tárolt szó. (Pl.: ARRA és ARA ilyen.) 11. Adott egy egyirányú fejelemes lista, amelyben az értékek (pl. egészek) rendezetlen módon szerepelnek. Állítsuk sorba az elemeket a beszúró rendezés algoritmusával, természetesen úgy, hogy az elemek "helyben maradnak", csak a mutatók értéke változik. Bináris fák A bináris fákra vonatkozó feladatokat általában három reprezentációban lehet megoldani. A bináris fák szokásos rajza az ADS-szintnek felel meg. Az bináris fát lehet pointeresen ábrázolni, és ha elég sok csúcs van benne a magasságához képest, akkor el lehet tömbben is helyezni. (Szokásos módon ennél kicsit többet követelünk meg: az aritmetikai ábrázolást akkor alkalmazzuk, ha a fa teljes, vagy majdnem teljes és balra tömörített.) A következ feladatokat általában rekurzív algoritmussal lehet természetes módon megoldani. 1. Bizonyítsuk be, hogy ha egy teljes bináris fát szintfolytonosan elhelyezünk egy (egydimenziós) tömbben, akkor minden bels c csúcs bal gyerekének indexe kétszerese a szül indexének (a jobb gyerek indexe pedig még 1-gyel nagyobb): ind(bal(c)) = 2*ind(c) ind(jobb(c)) = 2*ind(c)+1 (Hogyan általánosítható a feladat tetsz leges r-áris fákra?) 2. Adjuk meg a bináris fák preorder, inorder és postorder bejárásának rekurzív algoritmusát; mindegyiket egy másik reprezentációban. 3. Írjunk olyan iteratív algoritmust, amely egy sor adatszerkezet felhasználásával megvalósítja egy teljes bináris fa szintfolytonos bejárását. 4. Készítsünk olyan algoritmust, amelyik megszámolja egy bináris fában a a) csúcsokat b) leveleket. 5. Adjunk olyan eljárást, amelyik megszámolja egy bináris fa adott szintjén lév a) csúcsokat b) leveleket. 6. Adott két bináris fa. Döntsük el, hogy azonos-e a szerkezetük. 11

12 7. Határozzuk meg egy bináris fa szintjeinek a számát, azaz a maximális szintszámot, amelyen levél található. (Az egyetlen pontból álló fára ez a szám 1, az üres fára pedig nulla.) 8. Adjuk meg egy bináris fa csúcsaiban (bels pontjaiban, leveleiben) szerepl értékek maximumát. 9. Határozzuk meg azt a legkisebb magasságot, amelyben egy megadott bináris fa már tartalmaz levelet. (Üres fára ez az érték legyen -1, egy pontból álló fára pedig nulla.) 10. Döntsük el egy bináris fáról, hogy piramis-e. (Minden bels csúcsban kisebb vagy egyenl érték található, mint a gyerekeiben.) 11. Adott egy kifejezésfa. Írjuk ki a kifejezés teljesen zárójelezett alakját. (Az operandusok nincsenek zárójelben.) 12. Adott egy kifejezés lengyel formája egy szekvenciális input sorozatban. Építsük fel a kifejezésfát. 13. Adott egy keres fa preorder bejárása egy tömbben. Építsük fel a fát. (A keres fa bármely bels csúcsában nagyobb vagy egyenl érték van, mint a csúcs alatti bal oldali részfa bármely csúcsában, és kisebb vagy egyenl, mint a jobb oldali részfájának bármely eleme.) 14. Adott egy teljes bináris fa szintfolytonos elhelyezése egy tömbben. Építsük fel a fát. 15. Egy bináris fában csupa különböz érték található. Adott a fa preorder és inorder bejárása egy-egy tömbben. Építsük fel a fát. Rendezés Ideiglenes feladatsor A "lassú" (O(n 2 )-es) rendezések: buborék, beszúró, max. kiv. rendezés már voltak. Az el adáson elhangzott/elhangzó rendezések, amelyek gyakorolhatók: - verseny rendezés (tournament sort) - kupac rendezés (heap sort) - gyors rendezés (quick sort) - összefésül rendezés (merge sort) 1. Játsszuk le a verseny rendezést 8 elemre az els 3 érték meghatározásáig. A teljes rendezés hány összehasonlítást igényel? Hányszor írunk be értéket a fa csúcsaiba ill. tömb elemeibe? (Az adott kezd kitöltés nem számít ide, viszont a "mínusz végtelen" beírása igen.) Végezzünk kupac rendezést a következ input adatsorra: 3, 1, 7, 6, 2, 10, 9, 8, 5, 4. Kell számú ábrán szemléltessük a fában elvégzett cseréket. Mutassuk be, hogy hogyan alakul ki a 12

13 kezd heap, majd kövessük az algoritmus m ködését addig, amíg a két legnagyobb elem a végs helyére kerül és többi elem újra heap-et alkot. Hány cserét hajt végre a kupac rendezés 7 elemre a legrosszabb esetben? Vessük össze ezt a számot a Keresés Egyéb 13

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok 2010. január 8. Bevezet El z órák anyagainak áttekintése Ismétlés Adatszerkezetek osztályozása Sor, Verem, Lengyelforma Statikus, tömbös reprezentáció Dinamikus, láncolt reprezentáció Láncolt lista Lassú

Részletesebben

21. Adatszerkezetek Az adattípus absztrakciós szintjei Absztrakt adattípus (ADT) Absztrakt adatszerkezet (ADS) Egyszerű adattípusok Tömbök

21. Adatszerkezetek Az adattípus absztrakciós szintjei Absztrakt adattípus (ADT) Absztrakt adatszerkezet (ADS) Egyszerű adattípusok Tömbök 2. Adatszerkezetek Az adattípus absztrakciós szintjei http://people.inf.elte.hu/fekete/docs_/adt_ads.pdf Absztrakt adattípus (ADT) Az adattípust úgy specifikáljuk, hogy szerkezetére, reprezentálására,

Részletesebben

7. BINÁRIS FÁK 7.1. A bináris fa absztrakt adattípus 7.2. A bináris fa absztrakt adatszerkezet

7. BINÁRIS FÁK 7.1. A bináris fa absztrakt adattípus 7.2. A bináris fa absztrakt adatszerkezet 7. BINÁRIS FÁK Az előző fejezetekben már találkoztunk bináris fákkal. Ezt a központi fontosságú adatszerkezetet most vezetjük be a saját helyén és az általános fák szerepét szűkítve, csak a bináris fát

Részletesebben

Buborékrendezés: Hanoi Tornyai: Asszimptótikus fv.ek: Láncolt ábrázolás: For ciklussal:

Buborékrendezés: Hanoi Tornyai: Asszimptótikus fv.ek: Láncolt ábrázolás: For ciklussal: Buborékrendezés: For ciklussal: Hanoi Tornyai: Asszimptótikus fv.ek: Láncolt ábr.: ha p egy mutató típusú változó akkor p^ az általa mutatott adatelem, p^.adat;p^.mut. A semmibe mutató ponter a NIL.Szabad

Részletesebben

22. GRÁFOK ÁBRÁZOLÁSA

22. GRÁFOK ÁBRÁZOLÁSA 22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is

Részletesebben

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E 5. SOR A sor adatszerkezet is ismerős a mindennapokból, például a várakozási sornak számos előfordulásával van dolgunk, akár emberekről akár tárgyakról (pl. munkadarabokról) legyen szó. A sor adattípus

Részletesebben

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból

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

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok 2009. november 13. Ismétlés El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek, adatok ábrázolása, típusabsztakció Vezérlési szerkezetek Függvények, paraméterátadás, rekurziók

Részletesebben

GRÁFOK ÉS ALGORITMUSOK ELMÉLETE VIZSGAKÉRDÉSEK Matematika BSc Elemző szakirány II. év 1. félév

GRÁFOK ÉS ALGORITMUSOK ELMÉLETE VIZSGAKÉRDÉSEK Matematika BSc Elemző szakirány II. év 1. félév GRÁFOK ÉS ALGORITMUSOK ELMÉLETE VIZSGAKÉRDÉSEK Matematika BSc Elemző szakirány II. év 1. félév Az írásbeli vizsgán öt kérdést kell kidolgozni, A kérdések az alábbiak közül kerülnek kiválasztásra, a műfaji

Részletesebben

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

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 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 Bináris keresőfa, kupac Katona Gyula Y. (BME SZIT) A számítástudomány

Részletesebben

2. AZ ADATTÍPUS ABSZTRAKCIÓS SZINTJEI...2

2. AZ ADATTÍPUS ABSZTRAKCIÓS SZINTJEI...2 2. AZ ADATTÍPUS ABSZTRAKCIÓS SZINTJEI...2 2.1. Absztrakt adattípus (ADT)... 2 2.1.1. Algebrai (axiomatikus) specifikáció... 3 2.1.2. Funkcionális (elő-, utófeltételes) specifikáció... 4 2.1.3. Algoritmusok

Részletesebben

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1] Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.

Részletesebben

4. VEREM. Üres: V Verembe: V E V Veremből: V V E Felső: V E

4. VEREM. Üres: V Verembe: V E V Veremből: V V E Felső: V E 4. VEREM A mindennapokban is találkozunk verem alapú tároló struktúrákkal. Legismertebb példa a névadó, a mezőgazdaságban használt verem. Az informatikában legismertebb veremalkalmazások az eljáráshívások

Részletesebben

Amortizációs költségelemzés

Amortizációs költségelemzés Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük

Részletesebben

Algoritmuselmélet 2. előadás

Algoritmuselmélet 2. előadás Algoritmuselmélet 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés

Részletesebben

Algoritmusok és adatszerkezetek I. 1. előadás

Algoritmusok és adatszerkezetek I. 1. előadás Algoritmusok és adatszerkezetek I 1 előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: elemi (vagy skalár, vagy strukturálatlan) összetett (más szóval strukturált) Strukturálási

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

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

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék 9. előadás Wagner György Általános Informatikai Tanszék Leszámoló rendezés Elve: a rendezett listában a j-ik kulcs pontosan j-1 kulcsnál lesz nagyobb. (Ezért ha egy kulcsról tudjuk, hogy 27 másiknál nagyobb,

Részletesebben

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

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje 1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt

Részletesebben

Adatszerkezetek 7a. Dr. IványiPéter

Adatszerkezetek 7a. Dr. IványiPéter Adatszerkezetek 7a. Dr. IványiPéter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér () Nincsennek hurkok!!! 2 Bináris fák Azokat a

Részletesebben

Érdekes informatika feladatok

Érdekes informatika feladatok A keres,kkel és adatbázissal ellátott lengyel honlap számos díjat kapott: Spirit of Delphi '98, Delphi Community Award, Poland on the Internet, Golden Bagel Award stb. Az itt megtalálható komponenseket

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 07

Algoritmusok és adatszerkezetek gyakorlat 07 Algoritmusok és adatszerkezetek gyakorlat 0 Keresőfák Fák Fa: összefüggő, körmentes gráf, melyre igaz, hogy: - (Általában) egy gyökér csúcsa van, melynek 0 vagy több részfája van - Pontosan egy út vezet

Részletesebben

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

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1. Nagyságrendek Kiegészítő anyag az Algoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: Algoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 018. február 1. Az O, Ω, Θ jelölések Az algoritmusok

Részletesebben

A félév során előkerülő témakörök

A félév során előkerülő témakörök A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok

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

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1

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

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

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

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

19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI

19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI 19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI Ebben a fejezetben aszimptotikus (nagyságrendi) alsó korlátot adunk az összehasonlításokat használó rendező eljárások lépésszámára. Pontosabban,

Részletesebben

A C programozási nyelv III. Pointerek és tömbök.

A C programozási nyelv III. Pointerek és tömbök. A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,

Részletesebben

15. A VERSENYRENDEZÉS

15. A VERSENYRENDEZÉS 15. A VERSENYRENDEZÉS A versenyrendezés (tournament sort) a maximum-kiválasztó rendezések közé tartozik, ugyanis az elemek közül újra és újra kiválasztja (eltávolítja és kiírja) a legnagyobbat. Az eljárás

Részletesebben

3. TÖMBÖK A tömb absztrakt adattípus Legyen T az E alaptípus feletti k ( 1) dimenziós tömb típus. Vezessük be az I I1

3. TÖMBÖK A tömb absztrakt adattípus Legyen T az E alaptípus feletti k ( 1) dimenziós tömb típus. Vezessük be az I I1 3. TÖMBÖK Az egyszerű adattípusok ismertetését a tömbökkel kezdjük. Az sem okozna zavart, ha ezt a fejezet nem szerepelne jegyzetünkben, tekintettel arra, hogy a tömböket ismerjük a programozási kurzusokból.

Részletesebben

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök Programozás alapjai II. (8. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT Speciális adatszerkezetek A helyes adatábrázolás választása, a helyes adatszerkezet

Részletesebben

Függvények növekedési korlátainak jellemzése

Függvények növekedési korlátainak jellemzése 17 Függvények növekedési korlátainak jellemzése A jellemzés jól bevált eszközei az Ω, O, Θ, o és ω jelölések. Mivel az igények általában nemnegatívak, ezért az alábbi meghatározásokban mindenütt feltesszük,

Részletesebben

Taylor-polinomok. 1. Alapfeladatok. 2015. április 11. 1. Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

Taylor-polinomok. 1. Alapfeladatok. 2015. április 11. 1. Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját! Taylor-polinomok 205. április.. Alapfeladatok. Feladat: Írjuk fel az fx) = e 2x függvény másodfokú Maclaurinpolinomját! Megoldás: A feladatot kétféle úton is megoldjuk. Az els megoldásban induljunk el

Részletesebben

Adatszerkezetek 1. Dr. Iványi Péter

Adatszerkezetek 1. Dr. Iványi Péter Adatszerkezetek 1. Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot kódoltan tároljuk

Részletesebben

Programozás alapjai II. (7. ea) C++

Programozás alapjai II. (7. ea) C++ Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1

Részletesebben

1.előadás Tornai Kálmán

1.előadás Tornai Kálmán 1.előadás Tornai Kálmán tornai.kalman@itk.ppke.hu Általános tudnivalók Előadás: 2 óra (Labor)gyakorlat: 3 óra Előismeretek: Kötelező: Bevezetés a programozásba I-II. Algebra és diszkrét matematika I. II.

Részletesebben

10. előadás Speciális többágú fák

10. előadás Speciális többágú fák 10. előadás Adatszerkezetek és algoritmusok előadás 2018. április 17., és Debreceni Egyetem Informatikai Kar 10.1 A többágú fák kezelésére nincsenek általános elvek, implementációjuk elsősorban alkalmazásfüggő.

Részletesebben

Aritmetikai kifejezések lengyelformára hozása

Aritmetikai kifejezések lengyelformára hozása Aritmetikai kifejezések lengyelformára hozása Készítették: Santák Csaba és Kovács Péter, 2005 ELTE IK programtervező matematikus szak Aritmetikai kifejezések kiértékelése - Gyakran felmerülő programozási

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

A C programozási nyelv III. Pointerek és tömbök.

A C programozási nyelv III. Pointerek és tömbök. A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,

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

Más szavakkal formálisan:, ahol olyan egész szám, hogy. Más szavakkal formálisan:, ahol olyan egész szám, hogy.

Más szavakkal formálisan:, ahol olyan egész szám, hogy. Más szavakkal formálisan:, ahol olyan egész szám, hogy. Bevezetés 1. Definíció. Az alsó egészrész függvény minden valós számhoz egy egész számot rendel hozzá, éppen azt, amely a tőle nem nagyobb egészek közül a legnagyobb. Az alsó egészrész függvény jele:,

Részletesebben

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok . fejezet Bevezetés Algebrai feladatok J. A számok gyakran használt halmazaira a következ jelöléseket vezetjük be: N a nemnegatív egész számok, N + a pozitív egész számok, Z az egész számok, Q a racionális

Részletesebben

1. ábra. Egy rekurzív preorder bejárás. Egy másik rekurzív preorder bejárás

1. ábra. Egy rekurzív preorder bejárás. Egy másik rekurzív preorder bejárás Preorder ejárás Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban lévő adatokra.

Részletesebben

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek: A programozás alapjai 1 Dinamikus adatszerkezetek:. előadás Híradástechnikai Tanszék Dinamikus adatszerkezetek: Adott építőelemekből, adott szabályok szerint felépített, de nem rögzített méretű adatszerkezetek.

Részletesebben

Ajánlott elemi feladatok az AAO tárgyhoz 41 feladat

Ajánlott elemi feladatok az AAO tárgyhoz 41 feladat Ajánlott elemi feladatok az AAO tárgyhoz 41 feladat Ha a feladat értelmezésével kapcsolatban probléma merül fel a vizsgán, meg kell kérdezni a vizsgáztató tanárt a megoldás megkezdés eltt. A feladatokat

Részletesebben

Hierarchikus adatszerkezetek

Hierarchikus adatszerkezetek 5. előadás Hierarchikus adatszerkezetek A hierarchikus adatszerkezet olyan < A, R > rendezett pár, amelynél van egy kitüntetett r A gyökérelem úgy, hogy: 1. r nem lehet végpont, azaz a A esetén R(a,r)

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

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA MATEmATIkA I 6 VI KOmPLEX SZÁmOk 1 A komplex SZÁmOk HALmAZA A komplex számok olyan halmazt alkotnak amelyekben elvégezhető az összeadás és a szorzás azaz két komplex szám összege és szorzata

Részletesebben

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot

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

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy: Függvények 015. július 1. 1. Feladat: Határozza meg a következ összetett függvényeket! f(x) = cos x + x g(x) = x f(g(x)) =? g(f(x)) =? Megoldás: Összetett függvény el állításához a küls függvényben a független

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

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Algoritmusok Tervezése 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Mi az algoritmus? Lépések sorozata egy feladat elvégzéséhez (legáltalánosabban) Informálisan algoritmusnak nevezünk bármilyen jól definiált

Részletesebben

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t Ellenőrző kérdések 2. Kis dolgozat kérdései 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t 37. Ha t szintű indexet használunk,

Részletesebben

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) Matematika A2c gyakorlat Vegyészmérnöki, Biomérnöki, Környezetmérnöki szakok, 2017/18 ősz 1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) 1. Valós vektorterek-e a következő

Részletesebben

2. AZ ADATTÍPUS ABSZTRAKCIÓS SZINTJEI

2. AZ ADATTÍPUS ABSZTRAKCIÓS SZINTJEI 2. AZ ADATTÍPUS ABSZTRAKCIÓS SZINTJEI Ebben a bevezető jellegű fejezetben arra a kérdésre próbálunk válaszolni, hogy az adattípusok, illetve adatszerkezetek milyen absztrakciós szinten jelennek meg az

Részletesebben

Algoritmusok és adatszerkezetek I. régebbi vizsgakérdések.

Algoritmusok és adatszerkezetek I. régebbi vizsgakérdések. Algoritmusok és adatszerkezetek I. régebbi vizsgakérdések. Ásványi Tibor asvanyi@inf.elte.hu 2019. június 22. A vizsgákon természetesen olyan kérdések is szerepelhetnek, amelyek a régebbi vizsgákon nem

Részletesebben

Web-programozó Web-programozó

Web-programozó Web-programozó Az Országos Képzési Jegyzékről és az Országos Képzési Jegyzékbe történő felvétel és törlés eljárási rendjéről szóló 133/2010. (IV. 22.) Korm. rendelet alapján. Szakképesítés, szakképesítés-elágazás, rész-szakképesítés,

Részletesebben

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek Lineáris algebra 2 Filip Ferdinánd filipferdinand@bgkuni-obudahu sivabankihu/jegyzetek 2015 december 7 Filip Ferdinánd 2016 februar 9 Lineáris algebra 2 1 / 37 Az el adás vázlata Determináns Determináns

Részletesebben

rank(a) == rank([a b])

rank(a) == rank([a b]) Lineáris algebrai egyenletrendszerek megoldása a Matlabban Lineáris algebrai egyenletrendszerek a Matlabban igen egyszer en oldhatók meg. Legyen A az egyenletrendszer m-szer n-es együtthatómátrixa, és

Részletesebben

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

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése Dr. Kallós Gábor 2014 2015 1 Az Ordó jelölés Azt mondjuk, hogy az f(n) függvény eleme az Ordó(g(n)) halmaznak, ha van olyan c konstans (c

Részletesebben

Kupac adatszerkezet. 1. ábra.

Kupac adatszerkezet. 1. ábra. Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.

Részletesebben

Elemi adatszerkezetek

Elemi adatszerkezetek 2017/12/16 17:22 1/18 Elemi adatszerkezetek < Programozás Elemi adatszerkezetek Szerző: Sallai András Copyright Sallai András, 2011, 2014 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu

Részletesebben

INFORMATIKA javítókulcs 2016

INFORMATIKA javítókulcs 2016 INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.

Részletesebben

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága 7. gyakorlat Lineáris algebrai egyenletrendszerek megoldhatósága Egy lineáris algebrai egyenletrendszerrel kapcsolatban a következ kérdések merülnek fel: 1. Létezik-e megoldása? 2. Ha igen, hány megoldása

Részletesebben

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1 Megoldott feladatok 00. november 0.. Feladat: Vizsgáljuk az a n = n+ n+ sorozat monotonitását, korlátosságát és konvergenciáját. Konvergencia esetén számítsuk ki a határértéket! : a n = n+ n+ = n+ n+ =

Részletesebben

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont) 1. tétel 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója cm. Mekkora a háromszög átfogója? (4 pont). Adott az ábrán két vektor. Rajzolja meg a b, a b és az a b vektorokat! (6 pont)

Részletesebben

Absztrakt adatstruktúrák A bináris fák

Absztrakt adatstruktúrák A bináris fák ciós lámpa a legnagyobb élettartamú és a legjobb hatásfokú fényforrásnak tekinthető, nyugodtan mondhatjuk, hogy a jövő fényforrása. Ezt bizonyítja az a tény, hogy ezen a területen a kutatások és a bejelentett

Részletesebben

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága 7. gyakorlat Lineáris algebrai egyenletrendszerek megoldhatósága Egy lineáris algebrai egyenletrendszerrel kapcsolatban a következ kérdések merülnek fel: 1. Létezik-e megoldása? 2. Ha igen, hány megoldása

Részletesebben

2005_01/1 Leírtunk egymás mellé hét racionális számot úgy, hogy a két szélső kivételével mindegyik eggyel nagyobb a két szomszédja szorzatánál.

2005_01/1 Leírtunk egymás mellé hét racionális számot úgy, hogy a két szélső kivételével mindegyik eggyel nagyobb a két szomszédja szorzatánál. Számolásos feladatok, műveletek 2004_1/1 Töltsd ki az alábbi bűvös négyzet hiányzó mezőit úgy, hogy a négyzetben szereplő minden szám különböző legyen, és minden sorban, oszlopban és a két átlóban is ugyanannyi

Részletesebben

Halmazok. Gyakorló feladatsor a 9-es évfolyamdolgozathoz

Halmazok. Gyakorló feladatsor a 9-es évfolyamdolgozathoz Halmazok 1. Feladat. Adott négy halmaz: az alaphalmaz, melynek részhalmazai az A, a B és a C halmaz: U {1, 2,,..., 20}, az A elemei a páros számok, a B elemei a hárommal oszthatók, a C halmaz elemei pedig

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

Adatszerkezetek 2. Dr. Iványi Péter

Adatszerkezetek 2. Dr. Iványi Péter Adatszerkezetek 2. Dr. Iványi Péter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér (root) Nincsennek hurkok!!! 2 Bináris fák Azokat

Részletesebben

17. A 2-3 fák és B-fák. 2-3 fák

17. A 2-3 fák és B-fák. 2-3 fák 17. A 2-3 fák és B-fák 2-3 fák Fontos jelentősége, hogy belőlük fejlődtek ki a B-fák. Def.: Minden belső csúcsnak 2 vagy 3 gyermeke van. A levelek egy szinten helyezkednek el. Az adatrekordok/kulcsok csak

Részletesebben

Hatvány gyök logaritmus

Hatvány gyök logaritmus Szent István Egyetem Gépészmérnöki Kar Matematika Tanszék 1 Hatvány gyök logaritmus Hatványozás azonosságai 1. Döntse el az alábbi állításról, hogy igaz-e vagy hamis! Ha két szám négyzete egyenl, akkor

Részletesebben

Komplex számok. Wettl Ferenc előadása alapján Wettl Ferenc előadása alapján Komplex számok / 18

Komplex számok. Wettl Ferenc előadása alapján Wettl Ferenc előadása alapján Komplex számok / 18 Komplex számok Wettl Ferenc előadása alapján 2015.09.23. Wettl Ferenc előadása alapján Komplex számok 2015.09.23. 1 / 18 Tartalom 1 Számok A számfogalom bővülése 2 Algebrai alak Trigonometrikus alak Egységgyökök

Részletesebben

Egyirányban láncolt lista

Egyirányban láncolt lista Egyirányban láncolt lista A tárhely (listaelem) az adatelem értékén kívül egy mutatót tartalmaz, amely a következő listaelem címét tartalmazza. A láncolt lista első elemének címét egy, a láncszerkezeten

Részletesebben

6. LISTÁK ábra. A lista absztrakt adatszerkezet (ADS)

6. LISTÁK ábra. A lista absztrakt adatszerkezet (ADS) 6. LISTÁK Az előző fejezetekben megismerkedtünk a láncolt ábrázolással. Láttuk a verem és a sor, valamint előre tekintve a keresőfa pointeres megvalósításának a lehetőségét és előnyeit. A láncolt ábrázolással

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

Adatszerkezetek 1. előadás

Adatszerkezetek 1. előadás Adatszerkezetek 1. előadás Irodalom: Lipschutz: Adatszerkezetek Morvay, Sebők: Számítógépes adatkezelés Cormen, Leiserson, Rives, Stein: Új algoritmusok http://it.inf.unideb.hu/~halasz http://it.inf.unideb.hu/adatszerk

Részletesebben

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27 Vektorterek Wettl Ferenc 2015. február 17. Wettl Ferenc Vektorterek 2015. február 17. 1 / 27 Tartalom 1 Egyenletrendszerek 2 Algebrai struktúrák 3 Vektortér 4 Bázis, dimenzió 5 Valós mátrixok és egyenletrendszerek

Részletesebben

file:///d:/okt/ad/jegyzet/ad1/b+fa.html

file:///d:/okt/ad/jegyzet/ad1/b+fa.html 1 / 5 2016. 11. 30. 12:58 B+ fák CSci 340: Database & Web systems Home Syllabus Readings Assignments Tests Links Computer Science Hendrix College Az alábbiakban Dr. Carl Burch B+-trees című Internetes

Részletesebben

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

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan

Részletesebben

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

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév

Részletesebben

Komputeralgebrai Algoritmusok

Komputeralgebrai Algoritmusok Komputeralgebrai Algoritmusok Adatábrázolás Czirbusz Sándor, Komputeralgebra Tanszék 2015-2016 Ősz Többszörös pontosságú egészek Helyiértékes tárolás: l 1 s d i B i i=0 ahol B a számrendszer alapszáma,

Részletesebben

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8. Algoritmuselmélet 2-3 fák Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 8. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet 8. előadás

Részletesebben

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

Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával) Adatszerkezetek I. 7. előadás (Horváth Gyula anyagai felhasználásával) Bináris fa A fa (bináris fa) rekurzív adatszerkezet: BinFa:= Fa := ÜresFa Rekord(Elem,BinFa,BinFa) ÜresFa Rekord(Elem,Fák) 2/37 Bináris

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

Határozott integrál és alkalmazásai

Határozott integrál és alkalmazásai Határozott integrál és alkalmazásai 5. május 5.. Alapfeladatok. Feladat: + d = Megoldás: Egy határozott integrál kiszámolása a feladat. Ilyenkor a Newton-Leibniz-tételt használhatjuk, mely azt mondja ki,

Részletesebben

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II. 8 Egyenletek, egyenlőtlenségek, egyenletrendszerek II Elméleti összefoglaló Az a + b+ c, a egyenletet másodfokú egyenletnek nevezzük A D b ac kifejezést az egyenlet diszkriminánsának nevezzük Ha D >, az

Részletesebben

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

Rendezések. Összehasonlító rendezések Rendezések Összehasonlító rendezések Remdezés - Alapfeladat: Egy A nevű N elemű sorozat elemeinek nagyság szerinti sorrendbe rendezése - Feltételezzük: o A sorozat elemei olyanok, amelyekre a >, relációk

Részletesebben

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett!

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett! nomosztással a megoldást visszavezethetjük egy alacsonyabb fokú egyenlet megoldására Mivel a 4 6 8 6 egyenletben az együtthatók összege 6 8 6 ezért az egyenletnek gyöke az (mert esetén a kifejezés helyettesítési

Részletesebben

Gyakori elemhalmazok kinyerése

Gyakori elemhalmazok kinyerése Gyakori elemhalmazok kinyerése Balambér Dávid Budapesti M szaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Számítástudomány szakirány 2011 március 11. Balambér Dávid (BME) Gyakori

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