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
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]
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]
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
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]
Ö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.
Á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
össz:=0 i := 1 i < = n i := i+1 össz := össz + x[i] ki: össz
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
db:=0 i := 1 i < = n i := i+1 X[i] T tulajd. Ki: db db := db + 1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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!
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
db:=0 i := 1 i < = n i := i+1 X[i] T tulajd. Ki: db db := db + 1 X2[db] := X[i]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
(i <= n) és (x[i] nem T tul.) VAN := (i <= n) VAN i h i := i + 1 Ki: "van " Ki: "nincs "
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
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
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
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
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
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
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
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
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
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
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
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.
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
(i<=n) és (x[i] T tul.) VAN := (i <= n) i := i + 1 VAN i h sorsz := i Ki: "nincs " Ki: sorsz
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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!
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
min := 1 i := 2 i <= n i := i+1 Ki: min, x[min] x[min] > x[i] min := i
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]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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!
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
max := 1 i := 2 i <= n i := i+1 Ki: max, x[max] x[max] < x[i] max := i
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]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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