170 likes | 378 Views
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
E N D
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 felosztjukké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
4 7 7 9 5 9 9 Példa:Keresd ki egy számsorozat legnagyobb elemét!
Példa Pascalban:Keresd ki egy számsorozat legnagyobb elemét Divide et Impera modszerrel! 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
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. x<13 x<5 x>2 4
Példa Pascalban:Keresd ki egy számsorozat legnagyobb elemét Divide et Impera modszerrel! 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
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 • 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 mega sorozat paros elemeinek szamat