Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Nevezetes algoritmusok

Hasonló előadás


Az előadások a következő témára: "Nevezetes algoritmusok"— Előadás másolata:

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


Letölteni ppt "Nevezetes algoritmusok"

Hasonló előadás


Google Hirdetések