Fő tartalom
Tantárgy/kurzus: Számítástudomány > 1. témakör
6. lecke: Rekurzív algoritmusok- Rekurzió
- A faktoriális függvény
- Feladat: Iteratív faktoriális
- Faktoriális rekurzív kiszámítása
- Feladat: Rekurzív faktoriális
- Rekurzív algoritmusok tulajdonságai
- Állapítsuk meg rekurzív algoritmussal egy szóról, hogy az palindrom-e!
- Feladat: A szó palindróma?
- Számoljuk ki egy szám hatványát!
- Feladat: Rekurzív hatványok
- Sierpinski tömítés többszörös rekurzióval
- Hogyan tehetjük a rekurziót hatékonyabbá?
- Projekt: Rekurzív művészet
© 2024 Khan AcademyFelhasználási feltételekAdatkezelési tájékoztatóSüti figyelmeztetés
Számoljuk ki egy szám hatványát!
Bár a JavaScriptben létezik a
pow
beépített függvény számok hatványának kiszámítására, azért te is megírhatod a saját rekurzív függvényedet, ami nagyon hatékony lehet. Az egyetlen kikötés az, hogy a kitevőnek egész számnak kell lennie.Tegyük fel, hogy ki szeretnéd számítani értékét, ahol egy tetszőleges valós szám, pedig egy tetszőleges egész. Egyszerű a dolgunk, ha 0, mivel függetlenül értékétől. Ez egy jó alapeset lesz.
Most vizsgáljuk meg, mi van abban az esetben, ha pozitív. Kezdjük azzal, hogy felidézzük: akkor, amikor hatványait összeszorozzuk, akkor a kitevőket összeadjuk: tetszőleges és bármilyen és kitevők esetén. Ezért, ha pozitív és páros, akkor . Ha értékét rekurzívan szeretnéd kiszámítani, akkor -t kiszámíthatod alakban. Mi van akkor, ha pozitív és páratlan? Akkor , és vagy 0, vagy pozitív és páros. Az előbb viszont láttuk, hogyan kell kiszámítani hatványát abban az esetben, ha a hatvány 0, vagy pozitív és páros. Ezért ki tudod számítani értékét rekurzívan, majd az eredményt felhasználva kiszámítod értékét.
Mi van akkor, ha negatív? Akkor , ahol a kitevő pozitív, hiszen az egy negatív szám ellentéte. Ezután rekurzívan kiszámítod értékét, és veszed a reciprokát.
A fenti megállapításokat összegezve, az alábbi rekurzív algoritmust fogalmazhatjuk meg kiszámításához:
- Az alapeset az, amikor
, és . - Ha
pozitív és páros, akkor rekurzívan számod ki -t, aminek az alapján . Figyeld meg, hogy ebben az esetben elég egy rekurzív hívás, amiben egyszer kiszámolod értékét, majd az eredményt megszorzod önmagával. - Ha
pozitív és páratlan, akkor rekurzívan számod ki -t, ahol a kitevő vagy 0, vagy pozitív és páros. Ezután . - Ha
negatív, rekurzívan számold ki -t, miáltal a kitevő pozitívvá változik. Ezután .
Ez a fejezet a Dartmouth Computer Science két professzora, Thomas Cormen és Devin Balkcom, valamint a Khan Academy informatika tanmenetfejlesztő csapatának együttműködésében készült. A tartalom a CC-BY-NC-SA licenc alatt engedélyezett.
Szeretnél részt venni a beszélgetésben?
Még nincs hozzászólás.