Leszámláló rendezés. 1. Végigmegyünk az A-n, és ha egy elem értéke i, akkor megnöveljük C[i] értékét eggyel.
|
|
- Gabi Juhász
- 7 évvel ezelőtt
- Látták:
Átírás
1 13. előadás
2 Leszámláló rendezés Tegyük fel, hogy van n db bemeneti elem, s ezek mindegyike 1 és k közötti egész szám. Az alapötlet: meghatározzuk minden egyes x bemeneti elemre azoknak az elemeknek a számát, amelyek kisebbek, mint az x. Ezután x-et közvetlenül a saját pozíciójára tudom helyezni. Legyen a bemenet az A[1..n] tömb, a kimenet a B[1..n] tömb. Mindkettő hossza: hossz[a]=hossz[b]=n Szükség van még egy C[1..k] tömbre átmeneti munkaterületként.
3 Leszámláló rendezés 1. Végigmegyünk az A-n, és ha egy elem értéke i, akkor megnöveljük C[i] értékét eggyel. 2. Minden i-re 1..k között meghatározzuk, hogy hány olyan bemeneti elem van, amelyiknek az értéke i (összegzés C-n) 3. Minden j-re n..1 között A[j]-t betesszük B megfelelő pozíciójába - ezt a C-ből állapítjuk meg. Ha betettük, akkor a C[A[j]] értékét csökkentjük, így a következő vele egyenlő elem már elé kerül, vagyis így stabil lesz a rendezés, az egyenlő elemeknél megtartja az eredeti sorrendet.
4 Leszámláló rendezés A tömb C tömb C-ben az i-vel = elemek száma 1. Végigmegyünk az A-n, és ha egy elem értéke i, akkor megnöveljük C[i] értékét eggyel.
5 Leszámláló rendezés A tömb C tömb C-ben az i-nél elemek száma 2. Minden i-re 1...k között meghatározzuk, hogy hány olyan bemeneti elem van, amelyiknek az értéke i (összegzés C-n)
6 Leszámláló rendezés A tömb C tömb B tömb 3. Minden j-re n...1 között A[j]-t betesszük B megfelelő pozíciójába - ezt a C-ből állapítjuk meg.
7 Leszámláló rendezés A tömb C tömb 1 B tömb
8 Leszámláló rendezés A tömb C tömb 1 B tömb
9 Leszámláló rendezés A tömb C tömb 1 3 B tömb
10 Leszámláló rendezés A tömb a végén: B tömb
11 Leszámláló rendezés Az algoritmus pszeudokódja: for i 1 to k do C[i] 0 for j 1 to hossz(a) do C[A[j]] C[A[j]] + 1 for i 2 to k do C[i] C [i] + C[i-1] for j hossz(a) downto 1 do B[C[A[j]]] A[j] C[A[j]] C[A[j]] - 1 C-ben az i-vel = elemek száma C-ben az i-nél elemek száma
12 Leszámláló rendezés Futási idő: 1. for ciklus: (k) 2. for ciklus: (n) 3. for ciklus: (k). for ciklus: (n) Így a teljes időigény: (k+n). Ha k = (n), akkor a rendezés futási ideje (n)! Ez ui. nem összehasonlító rendezés. A helyigénye viszont nagyobb
13 Batcher-féle rendezés Batcher-féle páros-páratlan összefésüléses rendezés Jelentősége: ez a MergeSort olyan változata, amelyben a lépések jelentős része párhuzamosan végezhető el. Ha párhuzamos processzorokon hajtanánk végre, akkor azt tapasztalnánk, hogy ((log 2 n) 2 ) idő alatt futna le, szemben a MergeSort (n * log 2 n) idejével.
14 Összefuttatásos rendezés MergeSort(S) S hossza 1? Szétvág(S, S1,S2) SKIP MergeSort(S1) MergeSort(S2) Összefuttat(S1, S2, S)
15 Összefuttatásos rendezés tömbre külső hívás: MergeSort(A,1,n) MergeSort(A, k, v) k v? h (k+v)/2 SKIP MergeSort(A, k, h) MergeSort(A, h+1, v) Összefuttat(A[k..h], A[h+1..v], A[k..v]) kell egy segédtömb is itt
16 Mergesort Hatékonyságelemzés: Műveletigény: ha n a két sorozat együttes hossza: MÖ összefuttat (n)= n-1 MÖMS(n) (n-1)* log 2 n = (n log 2 n)
17 Mergesort A[1..k] B[1..m] C[1..k+m]
18 Mergesort A= a 1 < a 2 < < a k B = b 1 < b 2 < < b m C = c 1 < c 2 < < c m+k
19 Batcher-féle Ez lesz a PP_Merge. Egy tömb(részlet) két rendezett feléből összefésüléssel előállítja a tömb(részlet) rendezett tartalmát. Ez is rekurzív eljárás, csak kicsit másképp.
20 Batcher-féle rendezés az új összefésülés: 1. A páratlan és B páros elemeit fésüli össze U-ba 2. A páros és B páratlan elemeit fésüli össze V-be A= a 1 < a 3 < a 5 <. B = b 2 < b < b 6 <. U = u 1 < u 2 < u 3 < A= a 2 < a < a 6 <. B = b 1 < b 3 < b 5 <. V = v 1 < v 2 < v 3 <. Tegyük fel, hogy k = m vagy k = m+1
21 Batcher-féle rendezés 3. Az U és V sorozatokat nem kell összefésülni, hanem elég csak az egymás alatti u i,v i párokat 1-1 összehasonlítással a helyes sorrendbe rakni, és így {u 1,v 1 }, {u 2,v 2 }, { u 3,v 3 },..-ból kialakul a helyes sorrend. (Ez be fogjuk látni.) Párhuzamosítás: 1. és 2. párhuzamosan végezhető.
22 Batcher-féle rendezés példa A: B: csapat - A páratlan, B páros: A: B: U:
23 Batcher-féle rendezés A: B: csapat - A páros, B páratlan: A: B: V:
24 Batcher-féle rendezés {u 1,v 1 }, {u 2,v 2 }, { u 3,v 3 } párosítás:
25 Batcher-féle rendezés Rekurzió: A 2-2 rövidebb sorozat összefésülését ugyanezzel az eljárással végezzük. Ez rekurzív hívással valósul meg. Ehhez meg kell adni a legkisebb k és m értéket, amelyre már nem hívja az eljárás önmagát: Egy 2 hosszú tömböt még szétvágunk két 1 hosszú részre és azokra meghívjuk az összefésülőt, ekkor k=1 és m=1. Egy 1 hosszú tömböt azonban már nem fésülünk össze, hanem felismerjük, hogy az már rendezett, így nulla (0) összehasonlítást igényel, ekkor k=1, m=0.
26 Batcher-féle rendezés Állítás: A PP_Merge eljárás helyes. Belátjuk, hogy a leírt eljárás azt a helyes rendezett sorozatot eredményezi, amelyet C = c 1 < c 2 < < c m+k -val jelöltünk Esetszétválasztással gondoljuk meg: c 1 = min{u 1,v 1 }, c 2 = max{u 1,v 1 } Általában, ha 1 i (k+m)/2 : c 2i-1 = min{u i,v i }, c 2i = max{u i,v i }
27 Batcher-féle rendezés Vegyük figyelembe a kiegyensúlyozott szétvágást is, azaz azt, hogy k=m vagy k=m+1 esetén (k+m)/2 =m. Ha k+m páratlan, akkor még azt is be kell látni, hogy c k+m is helyesen képződik, hiszen erre akkor a képlet nem vonatkozik. Bizonyítás: I. Belátjuk, hogy a C sorozatban bármely páros indexű tagig elmenve c 1, c 2k között ugyanannyi u i szerepel, mint v j vagyis az U és a V sorozat szinte cipzár - szerűen építi a C-t.
28 Batcher-féle rendezés A C sorozat a rendezett A és B sorozatok összefésülésével adódik. Tegyük fel, hogy A-ból az a 1, a s elemek, B-ből a b 1, b 2k-s elemek jönnek összefésüléssel a C sorozat első 2k elemébe: {c 1, c 2k } = {a 1, a s } { b 1, b 2k-s }
29 Batcher-féle rendezés {c 1, c 2k } = {a 1, a s } { b 1, b 2k-s } U-ba kerülnek a páratlan indexű elemek, ezek száma: s/2 V-be kerülnek a páros indexű elemek, ezek száma: s/2 U-ba kerülnek a páros indexű elemek, ezek száma: (2ks)/2 V-be kerülnek a páratlan indexű elemek, ezek száma: (2k-s)/2
30 Batcher-féle rendezés Az állítás ekkor egyenértékű azzal, hogy: s/2 + (2k-s)/2 = s/2 + (2k-s)/2? Ez nyilván igaz, ha s páros, hiszen ekkor minden tag egész. ha s páratlan, akkor a kérdés: (s+1)/2 +(2k-(s+1))/2 = (s-1) /2 + (2k-(s-1))/2 egyenlősége, és ez tényleg igaz.
31 Batcher-féle rendezés II. Eszerint: {c 1, c 2i } = {u 1, u i } { v 1, v i } {c 1, c 2(i-1) } = {u 1, u i-1 } { v 1, v i-1 } A két halmaz kivonásával: {c 2i-1, c 2i }={u i, v i } Így, mivel c 2i-1 < c 2i, tehát az eredeti állítás fennáll. U és V már egy párhuzamos lépésben összefésülhető.
32 Batcher-féle rendezés Hatékonyságelemzés: Párhuzamos költséget számolunk, ez azt jelenti, hogy akárhány összehasonlítás is csak 1-nek számít, ha párhuzamosan végezzük! 1. A PP_Merge rekurzív eljárást egy n méretű, két (közel) egyenlő méretű, rendezett két félből álló tömbre hajtjuk végre. n A B n/2 n/2
33 Batcher-féle rendezés A két félből párhuzamosan lehet képezni az U és V sorozatokat, itt tehát n/2 -t vesszük alapul. Mivel ugyanezt az eljárást használjuk az U és V előállítására is, ez a költségszámítás képletében is rekurziót ad. Továbbá, az U és V tömbökből egyetlen párhuzamos összehasonlítással kapjuk a C eredményt. Így az egyenlet: MÖ PP_M (n) MÖ PP_M ( n/2 ) +1 Itt egyébként elegendő MÖ helyett Ö-t írni, mert ez az eljárás fix összehasonlítás számmal dolgozik. Szokásos jelölés még: T (n) T( n/2 ) +1, T(1) = 0
34 Batcher-féle rendezés Ennek megoldása úgy történik általánosan is, ahogy egy konkrét értékre: például n = 21-re: T(21) T(11) + 1 T(6) T(3) T(2) T(1) = = = 5 = log 2 21 T(21) log 2 21 Ha v olyan egész, amire 2 v < n 2 v+1, akkor a rekurzív egyenletet éppen v +1-szer alkalmazzuk, mire eljutunk T(1)-ig. Így v +1 db egyest adunk össze, vagyis T(n) log 2 n Ez tehát a párhuzamos összefésülés költsége.
35 Batcher-féle rendezés 2. A párhuzamos rendező eljárás szerkezete pontosan az, ami a bevezetőben felidézett MergeSort-é, csak más összefuttatást alkalmaz.
36 Batcher-féle rendezés - tömbökre külső hívás: BatcherSort(S,1,n) BatcherSort(S, p, q) p q? r (p+q)/2 SKIP BatcherSort(S, p, r) BatcherSort(S, r+1, q) PP_Merge(S[p..r], S[r+1..q], S[p..q])
37 Batcher-féle rendezés 2. A párhuzamos összehasonlítás számra az egyenlet: Ö Batcher (n) Ö Batcher ( n/2 ) + log 2 n Egyszerűbb jelöléssel: T(n) T( n/2 ) + log 2 n Ha ezt is kifejtjük, akkor az előzőhöz hasonlóan azt kapjuk, hogy log 2 n számú tag lesz; ezek a tagok azonban csökkennek: T(n) T( n/2 ) + log 2 n T( n/2 2 ) + log 2 ( n/2 ) + log 2 n T(1) ( log 2 n -1) + log 2 n = (( log 2 n +1) * log 2 n )/2 (log 2 n) 2 /2 = ((log 2 n) 2 )
38 Batcher-féle rendezés Az előzőekben felhasználtuk, hogy log 2 ( n/2 ) = log 2 n -1, ezt be is látjuk: Ha n= 2 p, akkor igaz. Ha 2 p < n 2 p+1, akkor 2 p-1 < n/2 2 p, 2 p-1 < n/2 2 p p-1 < log 2 n/2 p, így log 2 ( n/2 ) = log 2 n -1
39 Külső rendezések Az eddig látott rendezéseknél feltettük, hogy az adatok a központi memóriában vannak. Ennek megfelelt, hogy a hatékonyságot az összehasonlítások számában mértük. Ha az adatok háttértárban vannak, akkor a futási idő döntő részét az I/O utasítások teszik ki. (Az I/O egysége az 1 blokk, ami k x 512 byte valamely kis k- val, pl. 102 v. 208 byte. Ezt lapnak is nevezik.) A háttértár lehet szalag v. lemez (ennek különféle változatai). A hatékonyságot a szükséges blokk I/O-k számában mérjük. Külső rendezésre igazából csak az összefésüléses rendezés (MergeSort) alkalmas.
40 Külső rendezések Az összefésüléses rendezés külső tárakon Adott egy S szekvenciális input fájl, amely n blokkból áll, minden blokkban adott számú rekorddal. ( Pl. 1 blokk = 102 byte és ezen 3 rekord foglal helyet.) A blokkok tartalma rendezetlen. Az összefésülést iteratív módon végezzük, úgy, hogy az egyes menetek végén egyre nagyobb darabok, vagyis egyre több szomszédos blokk lesz rendezett. Az összefésülést menetenként váltakozva az A, B, illetve a C,D fájlokba végezzük, végül a teljesen rendezett eredményt S-be írjuk. A közbülső menetekben azért lesz 2 output fájl, mert az összefuttatás eredményét az egyet ide, egyet oda elv alapján írjuk ki.
41 Külső rendezések 1.menet: beolvassuk S rendezetlen blokkjait, valamilyen belső rendezővel rendezzük, majd kiírjuk felváltva A-ba, illetve B-be. Itt még nem volt összefésülés.
42 Külső rendezések S: rendezetlen blokkok b1 b2 b3 b b5 b6 b7 b8 b9 Rendezés központi memória A b1 B rendezett blokkok
43 Külső rendezések S: rendezetlen blokkok b1 b2 b3 b b5 b6 b7 b8 b9 Rendezés központi memória A B b1 b2 rendezett blokkok
44 Külső rendezések S: rendezetlen blokkok b1 b2 b3 b b5 b6 b7 b8 b9 Rendezés központi memória A B b1 b3 b5 b7 b9 b2 b b6 b8 rendezett blokkok
45 Külső rendezések 2.menet: Sorban beolvassuk A és B 1-1 blokkját. Ezek rendezettek. Összefésüljük őket és a rendezett két blokkot felváltva C-be, illetve D-be írjuk. Az A utolsó blokkjának nincs párja, így azt kiírjuk C- be. A C és D fájlban a rendezett részek hossza 2 blokk, illetve a maradék esetében 1 blokk.
46 A Külső rendezések rendezett: 1 blokk B b1 b3 b5 b7 b9 b2 b b6 b8 összefuttatás központi memória C D b1- -b2 rendezett: 2 blokk
47 A Külső rendezések rendezett: 1 blokk B b1 b3 b5 b7 b9 b2 b b6 b8 összefuttatás központi memória C D b3- b1- -b2 -b rendezett: 2 blokk
48 A Külső rendezések rendezett: 1 blokk B b1 b3 b5 b7 b9 b2 b b6 b8 összefuttatás központi memória C D b5- b1- -b2 b3- -b6 b9 b7- -b -b8 rendezett: 2 blokk
49 3. menet: C-ből és D-ből olvasunk 2-2 rendezett blokkot, összefésüljük őket és felváltva A-ba és B-be írjuk a rendezett blokkot. A C-beli utolsó töredék blokk változatlanul A végére kerül.
50 A Külső rendezések rendezett: blokk B b2- b1- b3- -b összefuttatás központi memória C D b5- b1- -b2 b3- -b6 b9 b7- -b -b8 rendezett: 2 blokk
51 A Külső rendezések rendezett: blokk B b2- b1- b3- b5- -b b6- b7- -b8 összefuttatás központi memória C D b5- b1- -b2 b3- -b6 b9 b7- -b -b8 rendezett: 2 blokk
52 A Külső rendezések rendezett: blokk B b2- b1- b3- b5- -b b9 b6- b7- -b8 összefuttatás központi memória C D b5- b1- -b2 b3- -b6 b9 b7- -b -b8 rendezett: 2 blokk
53 Külső rendezések. menet: C-be kerül A és B - rendezett blokkja összefésülésének a 8 blokk hosszú rendezett eredménye, D-be pedig a maradék egy blokk.
54 A Külső rendezések rendezett: blokk B b2- b1- b3- b5- -b -b9 b6- b7- -b8 összefuttatás központi memória C D b2- b1- b3- b- b5- b6- b7- -b8 b9 rendezett: 8
55 Külső rendezések 5. menet: C 8 blokkját és D 1 blokkját összefésüljük S- be. Elnevezés: egy k blokkból álló összefüggő rendezett részt k hosszú futam nak nevezünk.
56 Külső rendezések S rendezett b2- b1- b3- b- b5- b6- b7- b8- -b9 összefuttatás központi memória C D b2- b1- b3- b- b5- b6- b7- -b8 b9 rendezett: 8 blokk
57 Külső rendezések Két kiegészítő megjegyzés: 1. Ebben a példában az S 9. blokkja csaknem végig nem került kapcsolatba más rendezett részekkel, csak az utolsó menetben került összefésülésre. Ha végrehajtjuk a fenti eljárást n=15-re, akkor a páratlan töredék maradék rész mérete így alakul: 1, 3, 7, vagyis a fenti jelenség nem törvényszerű. 2. Ha a központi memória mérete korlátozott és nem képes befogadni az egyre növekvő méretű rendezett részeket (futamokat), akkor ezek összefésülését lehet pufferelve, akár blokkonként végezni. Ez azért lehetséges, mert az összefuttatás egysége a rekord.
58 Külső rendezések Általában: 1. menet eredménye: 2. menet eredménye: 3. menet eredménye:. 1 hosszú futamok 2 hosszú futamok hosszú futamok (k-1). menet eredménye: 2 (k-2) hosszú futamok k. (utolsó) menet eredménye: 2 (k-1) hosszú egyetlen futam = S (előtte maradék mindig lehet)
59 Külső rendezések Az utolsó előtti (k-1). menetben még volt 2 futam: 2 (k-2) < n A k. (utolsó) menetben már előáll a teljes rendezett fájl: n 2 (k-1) Áttérve logaritmusra: k-2 < log 2 n k-1 k-1 = log 2 n A menetek k száma: k = log 2 n +1 Az összes blokk-i/o száma: 2*n*( log 2 n + 1) (minden menetben beolvastuk és kiírtuk mind az n blokkot)
60 Külső rendezések Gyorsítási lehetőségek: Nagyobb kezdő futamok létrehozása ha a központi memória lehetővé teszi, akkor az 1. menetben megtehetjük, hogy S-ből m >1 blokkot olvasunk be, ezt rendezzük és az így keletkezett m hosszú kezdőfutamokat írjuk ki A-ba és B-be. Ezután úgy megy tovább, hogy először két m hosszú futamot fésülünk össze, majd két 2m hosszút, stb.
61 Külső rendezések 1. menet eredménye: m hosszú futamok 2. menet eredménye: 2*m hosszú futamok 3. menet eredménye: *m hosszú futamok. (k-1). menet eredménye: 2 (k-2) *m hosszú futamok k. (utolsó) menet eredménye: 2 (k-1) *m hosszú egyetlen futam = S Innen: 2 (k-2) *m < n 2 (k-1) *m A menetek k száma: k = log 2 (n/m) +1 Az összes blokk-i/o száma: 2*n*( log 2 (n/m) + 1)
62 Külső rendezések Több, mint kétfelé fésülünk: Ha az S fájl mellett nem 2 x 2, hanem általában 2 x m fájllal dolgozunk, akkor ezzel a ráfordítással hatékonyabb eljárás nyerhető. Legyen pl. m= 3, n=13 és térjünk vissza az 1 hosszú kezdő futamokhoz: Ekkor az 1. menetben felváltva A, B, C-be írjuk ki a rendezett kezdőfutamokat. Ezután mindig három futamot fésülünk össze (a maradékoktól eltekintve) és az új futamokat felváltva A, B, C-be ill. D, E, F-be írjuk ki. Az utolsó menetben S-be írjuk az eredményt.
63 Külső rendezések S-ben n= 13 A B C D E F S 1. menet 1,1,1,1,1 1,1,1,1 1,1,1,1 2. menet 3,3, 3,1, 3 3.menet 9. menet 13
64 Külső rendezések A számolás: 1. menet eredménye: 1 hosszú futamok 2. menet eredménye: m hosszú futamok.. (k-1)-edik menet eredménye: k-adik utolsó menet eredménye: Innen: m k-2 < n m k-1 n m k-2 hosszú futamok m k-1 hosszú egyetlen futam=s k= log m n + 1= log 2 n/ log 2 m +1 Az összes blokk I/O művelet: 2n * ( log 2 n/ log 2 m +1)
65 Külső rendezések Három fájlos külső rendező Érdekes algoritmushoz jutunk, ha az m-felé fésülésnél nem 2m db fájl-t használunk, hanem csak m+1 db-t. Ezt m=2 esetére nézzük meg, ami az eredeti eset. Ekkor tehát 3 fájl-t használunk, mondjuk A, B, C-t. Az 1. menetben szétosztjuk S immár rendezett blokkjait A- ba és B-be. A második menetben elkezdjük A és B blokkjainak az összefésülését, de most csak 1 fájl tudja fogadni az eredményt, a C fájl. Ezért C-be fésülünk össze egészen addig, amíg A és B egyike ki nem ürül. Ekkor új menetet kezdünk a két nem üres fájllal s.i.t.
66 Külső rendezések Példa: S n=13 blokk A táblázatban az első szám a futamok számát jelenti, zárójelben pedig a futamok hossza áll A 7(1) 1(1) 0 1(5) 0 1(9) 0 1(13)=S B 6(1) 0 1(3) 0 1(7) 0 1(11) 0 C 6(2) 5(2) (2) 3(2) 2(2) 1(2) 0 Látjuk, hogy a második menet végén képződött 6 db 2 hosszú futam csak egyesével tud elfogyni érezhetően sok lépésben. Ennek oka az, hogy az 1. menet végi két futamszámnak 1 a különbsége: 7-6=1
67 Külső rendezések Eszünkbe jut a Fibonacci sorozat: 0,1,1,2,3,5,8,13,. Ahol két szomszédos elem különbsége az első néhány tag kivételével 1-től különböző. Innen jön a gondolat, hogy az első menetben írjunk annyi futamot A-ba és B-be, mint a Fibonacci sorozat két (alkalmas) szomszédos eleme, és lépkedjünk visszafelé a sorozaton az egyes menetekben A 8(1) 3(1) 0 2(5) 1(5) 0 B 5(1) 0 3(3) 1(3) 0 1(13)=S C 5(2) 2(2) 0 1(8) 0
68 Külső rendezések Belátható, hogy a 3 fájlos rendező éppen akkor fut le leggyorsabban, ha így járunk el, azaz A-ban és B-ben két szomszédos Fibonacci számnak megfelelő számú kezdő futamot hozunk létre. Ha N nem Fibonacci szám, akkor vagy levágjuk és félretesszük a felesleget, és a végén még összefésüljük a kialakult eredménnyel, vagy pedig éppen fordítva: (virtuális) kiegészítéssel alkalmasan megnöveljük az input állomány méretét.
69 Külső rendezések Nézzük meg, hány lépésben érjük el F k és F k-1 -ből az 1, 0 számokat úgy, hogy minden menetben egy újabb számot tudunk lefelé lépni: (k-1). k. S F k+1 F k F k F k-1 F k Látható, hogy a menetek száma ekkor k, hiszen F k -től F 1 -ig vezet az út a táblázatban. Ki kell fejezni n-et F k+1 -gyel, ami az input fájl (közelítő) mérete blokkokban. Jelöljük N:=F k+1
70 Külső rendezések N:=F k+1 F 0 = 0, F 1 = 1, (F 2 = 1, F 3 = 2, F = 3, ) F k+1 = F k + F k-1 (k 1) F k = 1/ 5 * [((1+ 5)/2) k ((1-5)/2) k ] F k 1/ 5 * ((1+ 5)/2) k 1,6180-0,6180 Az A= (1+ 5)/2 az aranymetszés aránya, amely kielégíti az A 2 -A-1=0 egyenletet. Ezt átrendezve: A 2 =A+1, amiből teljes indukcióval megmutatható, hogy k 2 esetén: A k-2 F k A k-1 Ha N=F k+1, akkor A k-1 N, k-1 log A N = log 2 N/ log 2 A 1, * log 2 N k 1, * log 2 N +1
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észletesebbenAdatszerkezetek. 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észletesebbenAlgoritmuselmé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észletesebbenRendezé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észletesebbenA 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észletesebbenNagysá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észletesebbenProgramozá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észletesebbenA 2014/2015. tanévi Országos Középiskolai Tanulmányi Verseny első forduló MATEMATIKA I. KATEGÓRIA (SZAKKÖZÉPISKOLA) Javítási-értékelési útmutató
Oktatási Hivatal 04/0 tanévi Országos Középiskolai Tanulmányi Verseny első forduló MTEMTIK I KTEGÓRI (SZKKÖZÉPISKOL) Javítási-értékelési útmutató Határozza meg a tízes számrendszerbeli x = abba és y =
RészletesebbenSorozatok 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észletesebbenNagy Gábor compalg.inf.elte.hu/ nagy ősz
Diszkrét matematika 1. középszint 2017. ősz 1. Diszkrét matematika 1. középszint 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra
RészletesebbenAdatbá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észletesebbenDiszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 7. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Részletesebben7. 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észletesebbenAlgoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj. Nagy
Algoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj Divide & Conquer (,,Oszd meg és uralkodj ) paradigma Divide: Osszuk fel az adott problémát kisebb problémákra. Conquer: Oldjuk meg a kisebb
RészletesebbenEgészrészes feladatok
Kitűzött feladatok Egészrészes feladatok Győry Ákos Miskolc, Földes Ferenc Gimnázium 1. feladat. Oldjuk meg a valós számok halmazán a { } 3x 1 x+1 7 egyenletet!. feladat. Bizonyítsuk be, hogy tetszőleges
RészletesebbenI. 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észletesebben1.1. Alapfeladatok. hogy F 1 = 1, F 2 = 1 és általában F n+2 = F n+1 + F n (mert a jobboldali ág egy szinttel lennebb van, mint a baloldali).
1.1. Alapfeladatok 1.1.1. Megoldás. Jelöljük F n -el az n-ed rendű nagyapák számát. Az ábra alapján látható, hogy F 1 = 1, F = 1 és általában F n+ = F n+1 + F n mert a jobboldali ág egy szinttel lennebb
RészletesebbenFelvé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észletesebben19. 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észletesebbenMinimá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észletesebbenDiszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2015. tavasz 1. Diszkrét matematika 2.C szakirány 1. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu Komputeralgebra Tanszék 2015. tavasz Gráfelmélet Diszkrét
RészletesebbenAlgoritmuselmélet 12. előadás
Algoritmuselmélet 12. 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 Április 9. ALGORITMUSELMÉLET 12. ELŐADÁS 1 Turing-gépek
RészletesebbenInformatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Rendezések TÁMOP-4.2.3.-12/1/KONV-2012-0018 Az alapfeladat egy N elemű sorozat nagyság szerinti sorba rendezése. A sorozat elemei
RészletesebbenAdatbá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észletesebbenDiszkrét matematika 1. estis képzés
Diszkrét matematika 1. estis képzés 2019. tavasz 1. Diszkrét matematika 1. estis képzés 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján
RészletesebbenFPI matek szakkör 8. évf. 4. szakkör órai feladatok megoldásokkal. 4. szakkör, október. 20. Az órai feladatok megoldása
4. szakkör, 2004. október. 20. Az órai feladatok megoldása Most csak három önmagában nem nehéz feladatot kapsz, és a feladatot magadnak kell általánosítani, szisztematikusan adatot gyűjteni, általános
RészletesebbenArany Dániel Matematikai Tanulóverseny 2014/2015-ös tanév első (iskolai) forduló Haladók II. kategória
Bolyai János Matematikai Társulat Arany Dániel Matematikai Tanulóverseny 01/01-ös tanév első iskolai) forduló Haladók II. kategória Megoldások és javítási útmutató 1. Adott az alábbi két egyenletrendszer:
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 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észletesebbenAz R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.
2. A VALÓS SZÁMOK 2.1 A valós számok aximómarendszere Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 1.Testaxiómák R-ben két művelet van értelmezve, az
RészletesebbenGRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus
GRÁFELMÉLET 7. előadás Javító utak, javító utak keresése, Edmonds-algoritmus Definíció: egy P utat javító útnak nevezünk egy M párosításra nézve, ha az út páratlan hosszú, kezdő- és végpontjai nem párosítottak,
RészletesebbenSpecifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.
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 kimeneti adatot
RészletesebbenProgramozási módszertan. Függvények rekurzív megadása "Oszd meg és uralkodj" elv, helyettesítő módszer, rekurziós fa módszer, mester módszer
PM-03 p. 1/13 Programozási módszertan Függvények rekurzív megadása "Oszd meg és uralkodj" elv, helyettesítő módszer, rekurziós fa módszer, mester módszer Werner Ágnes Villamosmérnöki és Információs Rendszerek
RészletesebbenArany Dániel Matematikai Tanulóverseny 2008/2009-es tanév első (iskolai) forduló haladók II. kategória
Bolyai János Matematikai Társulat Oktatási és Kulturális Minisztérium Támogatáskezelő Igazgatósága támogatásával Arany Dániel Matematikai Tanulóverseny 00/009-es tanév első (iskolai) forduló haladók II.
RészletesebbenDiszkrét matematika I.
Diszkrét matematika I. középszint 2014. ősz 1. Diszkrét matematika I. középszint 8. előadás Mérai László diái alapján Komputeralgebra Tanszék 2014. ősz Elemi számelmélet Diszkrét matematika I. középszint
RészletesebbenHadamard-mátrixok Előadó: Hajnal Péter február 23.
Szimmetrikus kombinatorikus struktúrák MSc hallgatók számára Hadamard-mátrixok Előadó: Hajnal Péter 2012. február 23. 1. Hadamard-mátrixok Ezen az előadáson látásra a blokkrendszerektől független kombinatorikus
Részletesebben1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba
Hibaforrások Hiba A feladatok megoldása során különféle hibaforrásokkal találkozunk: Modellhiba, amikor a valóságnak egy közelítését használjuk a feladat matematikai alakjának felírásához. (Pl. egy fizikai
Részletesebben2018, Diszkrét matematika
Diszkrét matematika 3. előadás mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia 2018, őszi félév Miről volt szó az elmúlt előadáson? számtartományok: természetes
RészletesebbenBBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga
BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) 1. (5p) Tekintsük a következő alprogramot: Alprogram f(a): Ha a!= 0, akkor visszatérít: a + f(a - 1) különben visszatérít
RészletesebbenGyakorló 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észletesebbenOSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.
Osztók és többszörösök 1783. A megadott számok elsõ tíz többszöröse: 3: 3 6 9 12 15 18 21 24 27 30 4: 4 8 12 16 20 24 28 32 36 40 5: 5 10 15 20 25 30 35 40 45 50 6: 6 12 18 24 30 36 42 48 54 60 1784. :
RészletesebbenINFORMATIKA 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észletesebbenAlgoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.
Algoritmuselmélet Legrövidebb utak, Bellmann-Ford, Dijkstra Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 3. előadás Katona Gyula Y. (BME
RészletesebbenMagasabbfokú egyenletek
86 Magasabbfokú egyenletek Magasabbfokú egyenletek 5 90 a) =! ; b) =! ; c) = 5, 9 a) Legyen = y Új egyenletünk: y - 5y+ = 0 Ennek gyökei: y=, y= Tehát egyenletünk gyökei:, =!,, =! b) Új egyenletünk: y
RészletesebbenRekurzí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észletesebben26. 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észletesebbenProgramozá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észletesebbenA sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex
A sorozat fogalma Definíció. A természetes számok N halmazán értelmezett függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet a valós számok halmaza, valós számsorozatról beszélünk, mígha az
RészletesebbenElemi algebrai eszközökkel megoldható versenyfeladatok Ábrahám Gábor, Szeged
Magas szintű matematikai tehetséggondozás Elemi algebrai eszközökkel megoldható versenyfeladatok Ábrahám Gábor, Szeged Ahhoz, hogy egy diák kimagasló eredményeket érhessen el matematika versenyeken, elengedhetetlenül
RészletesebbenRendezé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észletesebbenTrigonometria Megoldások. 1) Igazolja, hogy ha egy háromszög szögeire érvényes az alábbi összefüggés: sin : sin = cos + : cos +, ( ) ( )
Trigonometria Megoldások Trigonometria - megoldások ) Igazolja, hogy ha egy háromszög szögeire érvényes az alábbi összefüggés: sin : sin = cos + : cos +, ( ) ( ) akkor a háromszög egyenlő szárú vagy derékszögű!
RészletesebbenA 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai 1. feladat: Repülők (20 pont) INFORMATIKA II. (programozás) kategória Ismerünk városok közötti repülőjáratokat.
RészletesebbenÖ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észletesebben15. 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észletesebben352 Nevezetes egyenlôtlenségek. , az átfogó hossza 81 cm
5 Nevezetes egyenlôtlenségek a b 775 Legyenek a befogók: a, b Ekkor 9 + $ ab A maimális ab terület 0, 5cm, az átfogó hossza 8 cm a b a b 776 + # +, azaz a + b $ 88, tehát a keresett minimális érték: 88
RészletesebbenMatematika. 1. osztály. 2. osztály
Matematika 1. osztály - képes halmazokat összehasonlítani az elemek száma szerint, halmazt alkotni; - képes állítások igazságtartalmának eldöntésére, állításokat megfogalmazni; - halmazok elemeit összehasonlítja,
RészletesebbenRendezé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észletesebben10. Szimultán kiválasztások
10. Szimultán kiválasztások Ebben a fejezetben két újabb alsókorlát-elemzés következik. Mindkettőben egy szimultán algoritmus műveletigényére adunk alsó korlátot. Pontosabban, egy-egy feladat megoldásához
RészletesebbenLegkönnyebb és legnehezebb Rendezési algoritmusok
7. foglalkozás Legkönnyebb és legnehezebb Rendezési algoritmusok Tartalom A számítógépeket gyakran használják arra, hogy listákat valamiféle rendbe rakjanak, például neveket ábécé szerint, találkozókat
RészletesebbenKOVÁ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észletesebbenProgramozá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észletesebbenOktatási Hivatal. 1 pont. A feltételek alapján felírhatók az. összevonás után az. 1 pont
Oktatási Hivatal Öt pozitív egész szám egy számtani sorozat első öt eleme A sorozatnak a különbsége prímszám Tudjuk hogy az első négy szám köbének összege megegyezik az ezen öt tag közül vett páros sorszámú
RészletesebbenElmaradó óra. Az F = (V,T) gráf minimális feszitőfája G-nek, ha. F feszitőfája G-nek, és. C(T) minimális
Elmaradó óra A jövő heti, november 0-dikei óra elmarad. 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)
RészletesebbenA 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták)
A 205/206. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA a speciális tanterv szerint haladó gimnazisták Javítási-értékelési útmutató. feladat Az {,2,...,n} halmaz
RészletesebbenWebprogramozás szakkör
Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás
RészletesebbenTö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észletesebbenOrszágos Középiskolai Tanulmányi Verseny 2009/2010 Matematika I. kategória (SZAKKÖZÉPISKOLA) 2. forduló feladatainak megoldása
Oktatási Hivatal Országos Középiskolai Tanulmányi Verseny / Matematika I. kategória (SZAKKÖZÉPISKOLA) 2. forduló feladatainak megoldása. Oldja meg a valós számok legbővebb részhalmazán a egyenlőtlenséget!
Részletesebben3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek
3. Előadás Megyesi László: Lineáris algebra, 47. 50. oldal. Gondolkodnivalók Determinánsok 1. Gondolkodnivaló Determinánselméleti tételek segítségével határozzuk meg a következő n n-es determinánst: 1
RészletesebbenSzámításelmélet. Második előadás
Számításelmélet Második előadás Többszalagos Turing-gép Turing-gép k (konstans) számú szalaggal A szalagok mindegyike rendelkezik egy független író / olvasó fejjel A bemenet az első szalagra kerül, a többi
RészletesebbenProgramozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás
Programozás alapjai 6. gyakorlat Futásidő, rekurzió, feladatmegoldás Háziellenőrzés Egészítsd ki úgy a simplemaths.c programot, hogy megfelelően működjön. A program feladata az inputon soronként megadott
Részletesebben2014. évi Bolyai János Megyei Matematikaverseny MEGOLDÁSI ÉS ÉRTÉKELÉSI ÚTMUTATÓ 11. évfolyam
01. évi Bolyai János Megyei Matematikaverseny A közölt megoldási utak a feladatoknak nem az egyetlen helyes megoldási módját adják meg, több eltérő megoldás is lehetséges. Az útmutatótól eltérő megoldásokat
RészletesebbenA szimplex algoritmus
. gyakorlat A szimplex algoritmus Az előző órán bevezetett feladat optimális megoldását fogjuk megvizsgálni. Ehhez új fogalmakat, és egy algoritmust tanulunk meg. Hogy az algoritmust alkalmazni tudjuk,
RészletesebbenMATEMATIKA É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észletesebben8. Mohó algoritmusok. 8.1. Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete
8. Mohó algoritmusok Optimalizálási probléma megoldására szolgáló algoritmus gyakran olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. Sok optimalizálási probléma esetén
Részletesebben8. 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észletesebbenArany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória
Bolyai János Matematikai Társulat Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória Megoldások és javítási útmutató 1. Az a és b befogójú derékszögű háromszögnek
RészletesebbenA 2006-2007. tanévi matematika OKTV I. kategória első (iskolai) fordulójának pontozási útmutatója
SZAKKÖZÉPISKOLA A 006-007. tanévi matematika OKTV I. kategória első (iskolai) fordulójának pontozási útmutatója. Feladat: Egy számtani sorozat három egymást követő tagjához rendre 3-at, -et, 3-at adva
RészletesebbenBevezetés a matematikába (2009. ősz) 1. röpdolgozat
Bevezetés a matematikába (2009. ősz) 1. röpdolgozat 1. feladat. Fogalmazza meg a következő ítélet kontrapozícióját: Ha a sorozat csökkenő és alulról korlátos, akkor konvergens. 2. feladat. Vezessük be
RészletesebbenSzá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észletesebbenSpecifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.
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 kimeneti adatot
RészletesebbenLekérdezések feldolgozása és optimalizálása
Lekérdezések feldolgozása és optimalizálása Definíciók Lekérdezés feldolgozása lekérdezés lefordítása alacsony szintű tevékenységekre lekérdezés kiértékelése adatok kinyerése Lekérdezés optimalizálása
RészletesebbenSzittyai István december 8. SZTE Bolyai Intézet. Szittyai István (NLG, Hmvh) Partíciók , Bolyai, Szeged 1 / 24
Hányféleképpen válthatom föl a pénzemet? Szittyai István Németh László Gimnázium, Hódmezővásárhely 2012. december 8. SZTE Bolyai Intézet Szittyai István (NLG, Hmvh) Partíciók 2012.12.08, Bolyai, Szeged
RészletesebbenA fejlesztés várt eredményei a 1. évfolyam végén
A tanuló legyen képes: A fejlesztés várt eredményei a 1. évfolyam végén - Halmazalkotásra, összehasonlításra az elemek száma szerint; - Állítások igazságtartalmának eldöntésére, állítások megfogalmazására;
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Trigonometria
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Trigonometria 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
RészletesebbenÁltalános algoritmustervezési módszerek
Általános algoritmustervezési módszerek Ebben a részben arra mutatunk példát, hogy miként használhatóak olyan általános algoritmustervezési módszerek mint a dinamikus programozás és a korlátozás és szétválasztás
Részletesebben1. A polinom fogalma. Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1. = x egyenletet.
1. A polinom fogalma Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1 = x egyenletet. Megoldás x + 1-gyel átszorozva x 2 + x + 1 = x 2 + x. Innen 1 = 0. Ez ellentmondás, így az
RészletesebbenTartalom. Programozási alapismeretek. 11. előadás
Tartalom Programozási alapismeretek 11. előadás Rendezési feladat specifikáció Egyszerű cserés Minimum-kiválasztásos Buborékos Javított buborékos Beillesztéses Javított beillesztéses Szétosztó Számlálva
RészletesebbenEdé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észletesebbenMATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ
Matematika emelt szint 0 ÉRETTSÉGI VIZSGA 00. február. MATEMATIKA EMELT SZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI MINISZTÉRIUM Matematika emelt szint Fontos tudnivalók Formai
RészletesebbenXXIV. NEMZETKÖZI MAGYAR MATEMATIKAVERSENY Szabadka, április 8-12.
XXIV NEMZETKÖZI MAGYAR MATEMATIKAVERSENY Szabadka, 05 április 8- XII évfolyam A szabályos hatoldalú csonka gúla alapélei és ( a b ) A csonka gúla oldalfelülete megegyezik az alaplapok területének összegével
RészletesebbenMATEMATIKA É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észletesebben11. 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észletesebben30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK
30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK A gráfos alkalmazások között is találkozunk olyan problémákkal, amelyeket megoldását a részekre bontott gráfon határozzuk meg, majd ezeket alkalmas módon teljes megoldássá
RészletesebbenKupac 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észletesebben2018, Funkcionális programozás
Funkcionális programozás 6. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? Haskell modulok, kompilálás a
RészletesebbenBrósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Sorozatok II.
Sorozatok II. DEFINÍCIÓ: (Mértani sorozat) Az (a n ) valós számsorozatot mértani sorozatnak nevezzük, ha van olyan valós szám, amellyel a sorozat bármely tagját megszorozva a következő tagot kapjuk. Jelöléssel:
RészletesebbenPermutációk véges halmazon (el adásvázlat, február 12.)
Permutációk véges halmazon el adásvázlat 2008 február 12 Maróti Miklós Ennek az el adásnak a megértéséhez a következ fogalmakat kell tudni: ismétlés nélküli variáció leképezés indulási és érkezési halmaz
Részletesebben5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás
Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:
RészletesebbenKupacrendezés. Az s sorban lévő elemeket rendezzük a k kupac segítségével! k.empty. not s.isempty. e:=s.out k.insert(e) not k.
10. Előadás Beszúró rendezés Használjuk a kupacokat rendezésre! Szúrd be az elemeket egy kupacba! Amíg a sor ki nem ürül, vedd ki a kupacból a maximális elemet, és tedd az eredmény (rendezett) sorba! 2
Részletesebben17. 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észletesebbenNagy Gábor compalg.inf.elte.hu/ nagy ősz
Diszkrét matematika 1. középszint 2016. ősz 1. Diszkrét matematika 1. középszint 8. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra
Részletesebben