Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Nevezetes algoritmusok
Összegzés Megszámlálás Kiválogatás Kiválasztás Eldöntés Lineáris keresés Minimum kiválasztás Maximum kiválasztás
2
Tömbök A tömb azonos típusú elemekből álló, sorosan tárolt adatcsoport, egyfajta memóriában létrehozott adatbázis. A tömböknek több dimenziója is lehet (vektor, mátrix) ez alapján tudunk belőlük kijelölni egy adott elemet. Ezt a kijelölést hívjuk indexelésnek, a jelölő dimenziókat pedig indexnek. 2 pali 19 164 5 a x szam1 össz z Peti Laci Jani Kati Feri A a[1] a[2] a[3] a[4] a[5]
3
Tömb feltöltése felhasználói értékadással
algoritmus feltölt_1 változó x : tömb[1..n] egész i : egész … ciklus i:= 1..n lépésköz=1 ismétel be: x[i] cvége algoritmus vége i := 1 i < = n i := i+1 be: x[i]
4
Tömb feltöltése automatikusan
algoritmus feltölt_2 változó x:tömb[1..n] egész i:egész … ciklus i:= 1..n lépésköz=1 ismétel x[i]:=érték cvége algoritmus vége i := 1 i < = n i := i+1 x[i] := érték
5
Tömb kiiratása algoritmus kiír változó x:tömb[1..n] egész i:egész
… ciklus i:=1..n lépésköz=1 ismétel ki : x[i] cvége algoritmus vége i := 1 i < = n i := i+1 ki: x[i]
6
Összegzés tétele Bemenő adat: egy N elemű adatsorozat (tömb, vektor)
Kimenő adat: Egy érték, amelynek kiszámításához az adatsorozat minden elemét felhasználjuk Szükséges hozzá még egy kiszámítási szabály, amely megmondja, hogy az értéket hogy kapjuk meg a sorozat elemeiből (F) Példák: összeg, számtani közép (átlag), mértani közép, négyzetösszeg, harmonikus közép, stb.
7
Általános feladat: Adott egy N elemű számsorozat
Általános feladat: Adott egy N elemű számsorozat. Számoljuk ki az elemek összegét! A sorozatot most és a továbbiakban is az n elemű x[n] vektorban (tömbben) tároljuk. Algoritmus: algoritmus összegzés var i, össz: egész x: tömb [1..n] egész össz:=0 ciklus i:=1..n lépésköz=1 ismétel össz:=össz + x[i] cvége ki: össz algoritmus vége
8
össz:=0 i := 1 i < = n i := i+1 össz := össz + x[i] ki: össz
9
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
10
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 0 össz = 0 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
11
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 1 össz = 0 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
12
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 1 össz = 12 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
13
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 1 össz = 12 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
14
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 2 össz = 12 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
15
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 2 össz = 27 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
16
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 2 össz = 27 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
17
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 3 össz = 27 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
18
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 3 össz = 38 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
19
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 3 össz = 38 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
20
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 4 össz = 38 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
21
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 4 össz = 55 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
22
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 4 össz = 55 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
23
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 5 össz = 55 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
24
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 5 össz = 69 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
25
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 5 össz = 69 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
26
ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége
Összegzés 15 12 11 17 14 Tömb: i = 5 össz = 69 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz
27
Megszámlálás Megszámolja, hogy egy tömbben hány darab T tulajdonságnak megfelelő elem van. Bemenő adat: egy N elemű adatsorozat (A tömb) Kimenő adat: Annak darabszáma, hogy egy adott T tulajdonságú elemből mennyi van Példák: tömbben páros elemek megszámolása, karakterláncban magánhangzó-számolás, stb.
28
Megszámlálás algoritmus megszámlálás változó i, db : egész x : tömb [1..n] egész … db := 0 ciklus i:=1..n lépésköz=1 ismétel ha (x[i] T tulajdonságú) akkor db:= db+1 hvége cvége ki:db …. algoritmus vége
29
db:=0 i := 1 i < = n i := i+1 X[i] T tulajd. Ki: db db := db + 1
30
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db
31
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 0
32
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 0 i = 1
33
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 0 i = 1
34
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 1
35
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 1
36
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 1
37
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 2
38
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 2
39
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 2
40
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 2
41
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 3
42
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 3
43
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 3
44
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 3
45
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 4
46
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 4
47
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 4
48
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 4
49
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 5
50
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 5
51
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 2 i = 5
52
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 2 i = 5
53
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 2 i = 5
54
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor
Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 2 i = 5
55
Kiválogatás tétele Bemenő adat: egy N elemű adatsorozat, létező tömb
Kimenő adat: Az összes T tulajdonságú elem egy új tömbben A kimenő adatok tárolásához ugyanakkora tömb szükséges, mint a bemenő adatokhoz, mert nem tudjuk előre, hány T tulajdonságú elem lesz Példák: válogassuk ki a párosakat, prímeket, stb. egy számsorozatból.
56
Kiválogatás tétele Általános feladat: egy N elemű sorozat összes T tulajdonsággal rendelkező elemét kell meghatározni. Gyűjtsük az X tömbből a feltételnek megfelelőeket a X2 tömbbe!
57
algoritmus kiválogat változó i, db :egész X, X2 : tömb [1
algoritmus kiválogat változó i, db :egész X, X2 : tömb [1..n] egész … db:=0 ciklus i=1-től n-ig lépésköz 1 ismétel Ha (X[i] T tulajdonságú) akkor db:=db+1 X2[db]:=X[i] hvége cvége algoritmus vége
58
db:=0 i := 1 i < = n i := i+1 X[i] T tulajd. Ki: db db := db + 1 X2[db] := X[i]
59
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás – páros számok 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége
60
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0
61
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 1
62
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 1
63
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 1
64
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 1
65
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 2
66
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 2
67
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 2
68
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 2
69
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 3
70
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 3
71
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 3
72
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás Forrás: 11 15 12 17 14 Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 3
73
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 3
74
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 3
75
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 4
76
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 4
77
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 4
78
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 4
79
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 5
80
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 5
81
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 2 i = 5
82
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 14 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 2 i = 5
83
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 14 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 2 i = 5
84
Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor
Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 14 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 2 i = 5
85
Kiválasztás tétele Általános feladat: Adott egy N elemű sorozat, egy, a sorozat elemein értelmezett T tulajdonság, valamint azt is tudjuk, hogy a sorozatban van legalább egy T tulajdonságú elem. A feladat ezen elem sorszámának meghatározása. Ha több ilyen elem van, akkor az első helyét adja vissza.
86
Kiválasztás tétele algoritmus kiválasztás i:=1 amíg (x[i] nem T tulajdonságú) ismétel i:=i+1 avége hely:=i ki: hely algoritmus vége
87
amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
88
amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 1
89
amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 1 Tömb[i] mod 2 <>0 ? igaz
90
amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 2 Tömb[i] mod 2 <>0 ? igaz
91
amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 2 Tömb[i] mod 2 <>0 ? igaz
92
amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 2 Tömb[i] mod 2 <>0 ? igaz
93
amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 3 Tömb[i] mod 2 <>0 ? igaz
94
amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 3 Tömb[i] mod 2 <>0 ? igaz
95
amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 3 Tömb[i] mod 2 <>0 ? igaz
96
amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 4 Tömb[i] mod 2 <>0 ? igaz
97
amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 4 Tömb[i] mod 2 <>0 ? igaz
98
amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 4 Tömb[i] mod 2 <>0 ? hamis
99
amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i
Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 4 Tömb[i] mod 2 <>0 ? hamis
100
Eldöntés tétele A kiválasztás hatékony akkor, ha biztosak vagyunk abban, hogy a tömbünk tartalmaz T tulajdonságú elemet. Ha nem vagyunk biztosak abban, hogy egy tömb tartalmaz-e adott tulajdonságú elemet az eldöntést kell használnunk. Bemenő adat: egy N elemű adatsorozat Kimenő adat: Egy logikai érték, amely megmondja, hogy egy adott T tulajdonságú elem előfordul-e az adat- sorozatban Példák: van-e páros, páratlan, hárommal osztható, stb. (tetszőlegesen bonyolultat ki lehet találni)
101
Eldöntés tétele algoritmus eldöntés változó i: egész VAN: logikai
x: tömb [1..n] : egész … i:=1 amíg (i<=n) ÉS (x[i] nem T tulajdonságú) ismétel i:=i+1 avége VAN:=(i <= n) // „VAN” értéke igaz, ha i<=n, … egyébként hamis algoritmus vége
102
(i <= n) és (x[i] nem T tul.)
VAN := (i <= n) VAN i h i := i + 1 Ki: "van " Ki: "nincs "
103
amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i
Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i
104
amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i
Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 1
105
amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i
Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 1 tömb[i] mod 2 = ? hamis
106
amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1
Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 2 tömb[i] mod 2 = ? hamis
107
amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1
Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 2 tömb[i] mod 2 = ? hamis
108
amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1
Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 2 tömb[i] mod 2 = ? hamis
109
amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1
Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 3 tömb[i] mod 2 = ? hamis
110
amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1
Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 3 tömb[i] mod 2 = ? hamis
111
amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i
Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 3 tömb[i] mod 2 = ? igaz
112
amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i
Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 3 tömb[i] mod 2 = ? igaz
113
amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i
Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 3 tömb[i] mod 2 = ? igaz
114
Lineáris keresés tétele
Általános feladat: Rendelkezésre áll egy n elemű tömb és egy, a sorozat elemein értelmezett T tulajdonság. A lineáris keresés algoritmusa eldönti, hogy van-e T tulajdonságú elem a sorozatban, és ha van, akkor megadja a sorszámát. A kiválasztás és az eldöntés tételének kombinációja.
115
Lineáris keresés tétele
algoritmus keresés változó i, sorsz: egész VAN: logikai A: tömb [1..n] : egész i:=1 amíg (i <= n) ÉS (A(i) nem T tulajdonságú) ismétel i:=i+1 avége VAN := (i<=n) ha VAN akkor ki: sorsz különben ki: "Nincs ilyen elem! „ hvége algoritmus vége
116
(i<=n) és (x[i] T tul.)
VAN := (i <= n) i := i + 1 VAN i h sorsz := i Ki: "nincs " Ki: sorsz
117
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége
118
amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 1
119
amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 1 tömb[i] mod 2 =? hamis
120
amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 2 tömb[i] mod 2 =? hamis
121
amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 2 tömb[i] mod 2 =? hamis
122
amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 2 tömb[i] mod 2 =? hamis
123
amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? hamis
124
amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? hamis
125
amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? igaz
126
amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? igaz
127
amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? Igaz van = igaz
128
amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? Igaz van = igaz
129
amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? Igaz van = igaz
130
amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége
Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? Igaz van = igaz
131
Minimumkeresés tétele
Általános feladat: Adott az n elemű A tömb, határozzuk meg a sorozat legkisebb értékű elemének sorszámát és értékét!
132
Minimumkeresés tétele
algoritmus minimum változó i, min:egész x: tömb [1..n] : egész … min := 1 ciklus i:=2..n lépésköz 1 ismétel ha x[min] > x[i] akkor min := i hvége cvége ki: min, x[min] algoritmus vége
133
min := 1 i := 2 i <= n i := i+1 Ki: min, x[min] x[min] > x[i] min := i
134
ciklus i:=2-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=2-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvégeKi : min Ki : tömb[min]
135
ciklus i:=2-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=2-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége Ciklus vége Ki : min Ki : tömb[min] i = 0 min=1
136
ciklus i:=2-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=2-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 2 min = 1 tömb[min] = 11
137
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 2 min = 1 tömb[min] = 11
138
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 2 min = 1 tömb[min] = 11
139
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 2 min = 1 tömb[min] = 11
140
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 3 min = 1 tömb[min] = 11
141
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 3 min = 1 tömb[min] = 11
142
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 3 min = 1 tömb[min] = 11
143
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 3 min = 1 tömb[min] = 11
144
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 4 min = 1 tömb[min] = 11
145
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 4 min = 1 tömb[min] = 11
146
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 4 min = 1 tömb[min] = 11
147
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 4 min = 1 tömb[min] = 11
148
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 1 tömb[min] = 11
149
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 1 tömb[min] = 11
150
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 5 tömb[min] = 10
151
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 5 tömb[min] = 10
152
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 5 tömb[min] = 10
153
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 5 tömb[min] = 10
154
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 5 tömb[min] = 10
155
Maximumkiválasztás tétele
Általános feladat: Adott az n elemű A tömb, határozzuk meg a sorozat legnagyobb értékű elemének sor-számát és értékét!
156
Maximumkiválasztás tétele
algoritmus maximum változó i, max:egész x: tömb [1..n] : egész … max := 1 ciklus i:=2..n lépésköz 1 ismétel ha x[max] < x[i] akkor max := i hvége cvége ki: max, x[max] algoritmus vége
157
max := 1 i := 2 i <= n i := i+1 Ki: max, x[max] x[max] < x[i] max := i
158
ciklus i:=2-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=2-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max]
159
ciklus i:=2-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=2-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 0 max=1
160
ciklus i:=2-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=2-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 2 max = 1 tömb[max] = 11
161
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 2 max = 1 tömb[max] = 11
162
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 2 max = 2 tömb[max] = 15
163
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 2 max = 2 tömb[min] = 15
164
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 2 max = 2 tömb[max] = 15
165
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 3 max = 2 tömb[max] = 15
166
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 3 max = 2 tömb[max] = 15
167
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 3 max = 2 tömb[max] = 15
168
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 3 max = 2 tömb[max] = 15
169
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 4 max = 2 tömb[max] = 15
170
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 4 max = 2 tömb[max] = 15
171
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 4 max = 4 tömb[max] = 17
172
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 4 max = 4 tömb[max] = 17
173
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 4 max = 4 tömb[max] = 17
174
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max:= 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 5 max = 4 tömb[max] = 17
175
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 5 max = 4 tömb[max] = 17
176
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 5 max = 4 tömb[max] = 17
177
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 5 min = 4 tömb[min] = 17
178
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 5 max = 4 tömb[max] = 17
179
ciklus i:=1-től 5-ig lépésköz=1 ismétel
Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 5 max = 4 tömb[max] = 17
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.