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

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

Hasonló előadás


Az előadások a következő témára: "Az oszd meg és uralkodj (Divide et Impera) programozási módszer"— Előadás másolata:

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

2 Á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

3 Á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

4 Á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

5 Példák és Megoldott Feladatok
1. Maximum és Minimum keresés

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

7 Példa:Keresd ki egy számsorozat legnagyobb elemét!
7 9 4 5 7 9 9

8 Feladat: Keresd ki az alábbi számsorozat legnagyobb elemét!
1 2 3 4 5 6 7 8 -7 -1 1 2 3 4 5 6 7 8 9 10 11 -7 -1

9 Példa Pascalban: Keresd ki egy számsorozat legnagyobb elemét Divide et Impera modszerrel!
1 2 3 4 5 6 7 8 -7 -1 u e k 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

10

11 Példák és Megoldott Feladatok
2. Bináris Keresés

12 Példa: Keressük ki az alábbi rendezett számsorban egy x=4 értéket.
1 2 3 4 5 6 7 8 9 10 11 13 16 21 23 45 51 x<13 1 2 3 4 5 10 11 x<5 2 4 x>2 4

13 Feladat: Keresd ki az alábbi számsorozatban az x=41 számot
2 3 4 5 6 7 8 11 14 17 23 42 49 1 2 3 4 5 6 7 8 9 10 11 14 18 23 32 41 48 52 60

14 Példa Pascalban: Keresd ki egy számsorozat legnagyobb elemét Divide et Impera modszerrel!
1 2 3 4 5 6 7 8 14 17 23 32 41 u e k 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

15 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

16

17 FELADATOK Irj Pascal Progrmot amely kikeresi egy számsorozat legnagyobb elemét Divide et Impera modszerrel! Irj Pascal Progrmot amely kikeresi egy rendezett számsorozat egy adott elemét Divide et Impera modszerrel! Adott egy n elemet tartalamazo sorozat. Hany prim eleme van a sorozatnak? Adott egy n elem– sorozat. Hatrozzuk meg a sorozat paros elemeinek szamat


Letölteni ppt "Az oszd meg és uralkodj (Divide et Impera) programozási módszer"

Hasonló előadás


Google Hirdetések