az o szd meg és uralkodj (divide et impera) programozási módszer

Post on 10-Jan-2016

85 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Az o szd meg és uralkodj (Divide et Impera) programozási módszer. Általános bemutatás. Az oszd meg és uralkodj módszer akkor alkalmazható, ha a feladat egymástól független részfeladatokra bontható. Ötlet - PowerPoint PPT Presentation

TRANSCRIPT

Az oszd meg és uralkodj(Divide et Impera) programozási módszer

Általános bemutatás Az oszd meg és uralkodj módszer akkor

alkalmazható, ha a feladat egymástól független részfeladatokra bontható.

Ötlet a feladatot felosztjuk két vagy több az

eredetivel megegyező típusú részfeladatra. a részfeladatok megoldása elvezet az

eredeti feladat megoldásához

Általános bemutatás

A megoldás általános lépései

A feladat felbontása kettő vagy több

részfeladatra (Divide)

A részfeladatok külön megoldása (Impera)

Részleges eredmények kombinációja

Általános bemutatás A dvide et impera módszer rekurzív

jellegű, minden felbontás esetén két lehetséges eset van:

eljutunk egy részfeladathoz mely megoldása egyszerű (elemi eset, megállási feltétel)

ha nem elemi esetünk van, felbontjuk a feladatot részfeladatokra és az alprogram ezekre meghívja önmagát

Példák és Megoldott Feladatok

1. Maximum és Minimum keresés

Példa:Keresd ki egy számsorozat legnagyobb elemét!

4 7

7

Példa:Keresd ki egy számsorozat legnagyobb elemét!

4 7

7

9 5

99

Feladat: Keresd ki az alábbi számsorozat legnagyobb elemét!

1 2 3 4 5 6 7 8

5 6 1 4 -7 3 2 -1

1 2 3 4 5 6 7 8 9 10 11

5 6 1 4 -7 3 2 -1 8 2 0

Példa Pascalban: Keresd ki egy számsorozat legnagyobb elemét Divide et Impera modszerrel!

1 2 3 4 5 6 7 8

5 6 1 4 -7 3 2 -1

Jelölések

e – a vizsgált részsorozat első indexe

u – a vizsgált részsorozat utolsó indexe

k – ahol ketté osztjuk a sorozatot

max – résztömb maximuma

e uk

Példák és Megoldott Feladatok

2. Bináris Keresés

Példa: Keressük ki az alábbi rendezett számsorban egy x=4 értéket.

1 2 3 4 5

2 4 5 10 11

1 2 3 4 5 6 7 8 9 10 11

2 4 5 10 11 13 16 21 23 45 51

x<13

2 4x<5

x>2

4

Feladat: Keresd ki az alábbi számsorozatban az x=41 számot

1 2 3 4 5 6 7 8

5 6 11 14 17 23 42 49

1 2 3 4 5 6 7 8 9 10 11

5 9 10 14 18 23 32 41 48 52 60

Példa Pascalban: Keresd ki egy számsorozat legnagyobb elemét Divide et Impera modszerrel!

1 2 3 4 5 6 7 8

3 6 7 14 17 23 32 41

Jelölések

e – a vizsgált részsorozat első indexe

u – a vizsgált részsorozat utolsó indexe

k – ahol ketté osztjuk a sorozatot

keresett – résztömb keresett eleme

e uk

Bináris keresés Rendezett sorozatban:

Elve: az intervallumfelezés Megvizsgáljuk a sorozat középső elemét: ha a keresett elem ennél nagyobb, akkor a továbbiakban csak a sorozat második felével foglalkozunk, ha nem, akkor az elejével

FELADATOK

1. Irj Pascal Progrmot amely kikeresi egy számsorozat legnagyobb elemét Divide et Impera modszerrel!

2. Irj Pascal Progrmot amely kikeresi egy rendezett számsorozat egy adott elemét Divide et Impera modszerrel!

3. Adott egy n elemet tartalamazo sorozat. Hany prim eleme van a sorozatnak?

4. Adott egy n elem– sorozat. Hatrozzuk meg a sorozat paros elemeinek szamat

top related