Tilbake
1.6

1.6 DRILL — Rekurrensløsning med navngitt metode

Full drill på sjanger B: velg riktig metode (masterteorem / iterasjon / substitusjon), løs, og oppgi svaret på riktig form (asymptotisk vs. eksakt).

80 min
13 oppgaver
DRILLRekurrensløsning med navngitt metode
Din fremgang i kapitlet
0 / 13 oppgaver

Forkunnskaper

- kap. 1.4 — masterteoremet, de tre tilfellene og
regularitetsbetingelsen.
- kap. 1.5 — iterasjonsmetoden, substitusjonsmetoden og
splitt og hersk.
- kap. 1.1 — de asymptotiske symbolene.

Er induksjon ustøtt, er Induksjonsbevis den grundige
gjennomgangen og Induksjon den mykere. Summeformlene finner du i
Rekker og summasjon og
Geometriske følger og rekker.

Dette kapitlet legger ikke til nytt stoff. Det gjør stoffet til en ferdighet du
kan utføre på fem minutter under tidspress.

Notasjons- og pseudokodeliste
📜Løsningsoppskriften for en rekurrensoppgave
Steg 1 — les hva oppgaven ber om. Står ordet «eksakt» eller «lukket
uttrykk» der? Da er det iterasjon, uansett hvilken form rekurrensen har. Står
det «vis at T(n)=O()T(n) = O(\dots)»? Da er det substitusjon.

Steg 2 — er rekurrensen på formen aT(n/b)+f(n)aT(n/b) + f(n) med a1a \ge 1 og
b>1b > 1?
Er den det, og oppgaven vil ha en asymptotisk grense, bruk
masterteoremet. Er den ikke det — for eksempel T(n)=T(n1)+f(n)T(n) = T(n-1) + f(n) — bruk
iterasjon.

Steg 3 ved masterteoremet — regn ut nlogban^{\log_b a} først. Ikke gjett.
log28=3\log_2 8 = 3, log39=2\log_3 9 = 2, log42=1/2\log_4 2 = 1/2, log272,807\log_2 7 \approx 2{,}807.

Steg 4 — sammenlign f(n)f(n) med nlogban^{\log_b a}, og velg tilfelle:

ForholdetTilfelleSvar
f(n)f(n) vokser en hel potens langsommere1Θ(nlogba)\Theta(n^{\log_b a})
f(n)=Θ(nlogbalgkn)f(n) = \Theta(n^{\log_b a}\lg^{k} n), k0k \ge 02Θ(nlogbalgk+1n)\Theta(n^{\log_b a}\lg^{k+1} n)
f(n)f(n) vokser en hel potens raskere, og regularitet holder3Θ(f(n))\Theta(f(n))

Steg 5 — sjekk at tilfellet faktisk gjelder. I tilfelle 1 og 3 må gapet
være en hel potens av nn, ikke bare en logaritme; ε\varepsilon må være
strengt positiv. I tilfelle 3 skal regularitetsbetingelsen
af(n/b)cf(n)af(n/b) \le c\,f(n) skrives ut på én linje.

Steg 6 — er kk negativ, faller rekurrensen utenfor pensumvarianten. Si
det. T(n)=2T(n/2)+n/lgnT(n) = 2T(n/2) + n/\lg n er det klassiske eksemplet.
Steg 7 ved iterasjon: skriv ut tre innsettinger, finn det generelle leddet,
finn hvilken ii som treffer grunntilfellet, summer. Grunntilfellets verdi skal

med i det eksakte uttrykket.
Steg 8 ved substitusjon: sett hypotesen inn der TT-uttrykket står, regn

ut, og vis at du ender på nøyaktig den formen du antok. Er det et restledd
igjen, er gjetningen for optimistisk.
Steg 9 — skriv svaret. Metodens navn, tilfellet hvis masterteoremet, og

selve uttrykket. To til tre linjer.

✏️Eksempel 1: Gjennomarbeidet eksamenscase med margnotater

Tre deloppgaver av den typen som kommer sammen på arket. Les margnotatene: de
sier hva som gir uttelling ved hvert steg.

a) Løs T(n)=2T(n/2)+nlgnT(n) = 2T(n/2) + n\lg n og oppgi tilfellet.

b) Finn et eksakt uttrykk for T(n)=T(n1)+nT(n) = T(n-1) + n med T(0)=0T(0) = 0.

c) Løs T(n)=3T(n/4)+nlgnT(n) = 3T(n/4) + n\lg n og oppgi tilfellet.

a) Metode: masterteoremet.

a=2a = 2, b=2b = 2, altså nlog22=nn^{\log_2 2} = n.

f(n)=nlgn=Θ(n1lg1n)f(n) = n\lg n = \Theta(n^{1}\lg^{1} n), altså Θ(nlogbalgkn)\Theta(n^{\log_b a}\lg^{k} n)
med k=1k = 1. Det er tilfelle 2.

T(n)=Θ(nlg2n)T(n) = \Theta(n\lg^{2} n)

Margnotat. Her faller de fleste poengene. Svaret er lgk+1n\lg^{k+1} n, altså
lg2n\lg^2 n — du legger til én logaritme, du beholder ikke den du hadde. Skriver
du Θ(nlgn)\Theta(n\lg n), har du gitt Merge-Sorts svar på en rekurrens som er
dyrere.

Margnotat. Tilfellet skal oppgis. «Tilfelle 2» er to ord og gir uttelling.

b) Metode: iterasjon.

T(n)=T(n1)+n=T(n2)+(n1)+n==T(0)+1+2++nT(n) = T(n-1) + n = T(n-2) + (n-1) + n = \dots = T(0) + 1 + 2 + \dots + n

T(n)=n(n+1)2T(n) = \frac{n(n+1)}{2}

Margnotat. Oppgaven ba om et eksakt uttrykk. Svarer du Θ(n2)\Theta(n^2), er
påstanden sann og svaret galt — det er ikke den formen som ble etterspurt.

Margnotat. Grunntilfellet T(0)=0T(0) = 0 bidrar ingenting her, men det skal med i
regnestykket. Hadde det vært T(0)=4T(0) = 4, ville svaret vært n(n+1)/2+4n(n+1)/2 + 4.

c) Metode: masterteoremet.

a=3a = 3, b=4b = 4, altså nlog43n0,79n^{\log_4 3} \approx n^{0{,}79}.

f(n)=nlgnf(n) = n\lg n vokser strengt raskere enn n0,79n^{0{,}79} — og gapet er en hel
potens: nlgn=Ω(n0,79+ε)n\lg n = \Omega(n^{0{,}79+\varepsilon}) holder for eksempel med
ε=0,2\varepsilon = 0{,}2. Vi er i tilfelle 3.

Regularitetsbetingelsen: 3f(n/4)=3n4lgn434nlgn=cf(n)\displaystyle 3f(n/4) = 3\cdot\frac{n}{4}\lg\frac{n}{4} \le \frac{3}{4}\,n\lg n = c\,f(n) med c=3/4<1c = 3/4 < 1. Den holder. (Kontrollert
numerisk for nn opp til 65 536.)

T(n)=Θ(nlgn)T(n) = \Theta(n\lg n)

Margnotat. I tilfelle 3 er svaret Θ(f(n))\Theta(f(n)) — ingen ekstra
logaritmefaktor. Å legge til én er en refleks fra tilfelle 2 og er galt her.

Margnotat. Regularitetsbetingelsen er ett av leddene som gir uttelling i
tilfelle 3. Én linje holder.

På eksamen leverer du de tre svarene under — resten er utregning:

- a) Masterteoremet, tilfelle 2: Θ(nlg2n)\Theta(n\lg^2 n)
- b) Iterasjon: T(n)=n(n+1)/2T(n) = n(n+1)/2
- c) Masterteoremet, tilfelle 3 (regularitet oppfylt): Θ(nlgn)\Theta(n\lg n)

Drill på masterteoremet (~22 min)

Seks oppgaver som roterer alle tre tilfellene, pluss den ene som faller
utenfor.

📝Oppgave 1
Eksamensnivå, sjanger B

Løs T(n)=8T(n/2)+n3T(n) = 8T(n/2) + n^3. Oppgi tilfellet.

📝Oppgave 2
Eksamensnivå, sjanger B

Løs T(n)=9T(n/3)+nT(n) = 9T(n/3) + n. Oppgi tilfellet.

📝Oppgave 3
Eksamensnivå, sjanger B

Løs T(n)=4T(n/2)+n2T(n) = 4T(n/2) + n^2. Oppgi tilfellet.

📝Oppgave 4
Eksamensnivå, sjanger B

Løs T(n)=2T(n/4)+1T(n) = 2T(n/4) + 1. Oppgi tilfellet.

📝Oppgave 5
Eksamensnivå, sjanger B

Løs T(n)=7T(n/2)+n2T(n) = 7T(n/2) + n^2. Oppgi tilfellet, og forklar med én setning hvorfor
svaret ikke er Θ(n2lgn)\Theta(n^2\lg n).

📝Oppgave 6
Eksamensnivå, sjanger B

Betrakt T(n)=2T(n/2)+nlgnT(n) = 2T(n/2) + \dfrac{n}{\lg n}.

a) Regn ut nlogban^{\log_b a} og sammenlign med f(n)f(n).
b) Kan pensumvarianten av masterteoremet brukes? Begrunn.

Drill på iterasjon og eksakte svar (~16 min)

Fire oppgaver. Alle ber om et eksakt uttrykk — les svarformen nøye.

📝Oppgave 7
Eksamensnivå, sjanger B

Finn et eksakt uttrykk for T(n)=T(n1)+2n1T(n) = T(n-1) + 2^{n-1} med T(0)=0T(0) = 0, og
navngi metoden.

📝Oppgave 8
Eksamensnivå, sjanger B

Finn et eksakt uttrykk for T(n)=3T(n1)T(n) = 3T(n-1) med T(0)=2T(0) = 2, og navngi
metoden.

📝Oppgave 9
Eksamensnivå, sjanger B

En rutine kaller seg selv på en input som er to elementer kortere, og gjør nn
enheter arbeid per kall: T(n)=T(n2)+nT(n) = T(n-2) + n for like nn, med T(0)=0T(0) = 0.

Finn et eksakt uttrykk for like nn.

📝Oppgave 10
Eksamensnivå, sjanger B

Betrakt T(n)=T(n1)+nT(n) = T(n-1) + n med T(0)=0T(0) = 0.

a) Oppgi et eksakt uttrykk.
b) Oppgi den strammeste asymptotiske grensen.
c) Forklar med én setning hvorfor de to svarene ikke er utskiftbare på
eksamen.

Drill på substitusjon (~10 min)

To oppgaver. Husk at uttellingen ligger i induksjonssteget, ikke i
gjetningen.

📝Oppgave 11
Eksamensnivå, sjanger B

Vis ved substitusjon at T(n)=2T(n/2)+nT(n) = 2T(n/2) + n gir T(n)=O(nlgn)T(n) = O(n\lg n). Før
induksjonssteget ferdig.

📝Oppgave 12
Eksamensnivå, sjanger B

En kandidat vil vise at T(n)=4T(n/2)+nT(n) = 4T(n/2) + n gir T(n)=O(n2)T(n) = O(n^2), og skriver:

«Anta T(n/2)c(n/2)2T(n/2) \le c(n/2)^2. Da er T(n)4c(n/2)2+n=cn2+nT(n) \le 4c(n/2)^2 + n = cn^2 + n, som er
O(n2)O(n^2)

Er beviset gyldig? Svar ja eller nei, og forklar hvor det svikter — og hvordan
det kan repareres.

Blandet: hvilken metode? (~8 min)

Den siste oppgaven blander alt. På eksamen er dette den vanligste
innpakningen: tre rekurrenser på rad, ulike metoder.

📝Oppgave 13
Eksamensnivå, sjanger B

For hver rekurrens: navngi metoden, løs, og oppgi svaret på riktig form.

a) T(n)=2T(n/2)+nlgnT(n) = 2T(n/2) + n\lg n
b) T(n)=T(n1)+nT(n) = T(n-1) + n, T(0)=0T(0) = 0eksakt svar
c) T(n)=8T(n/2)+n3T(n) = 8T(n/2) + n^3 — oppgi tilfellet
d) T(n)=T(n/2)+Θ(1)T(n) = T(n/2) + \Theta(1)

Rekurrensene du bør kjenne igjen på ett blikk

RekurrensMetodeSvar
T(n)=T(n/2)+Θ(1)T(n) = T(n/2) + \Theta(1)masterteoremet, tilfelle 2 (k=0k=0)Θ(lgn)\Theta(\lg n)
T(n)=2T(n/2)+Θ(n)T(n) = 2T(n/2) + \Theta(n)masterteoremet, tilfelle 2 (k=0k=0)Θ(nlgn)\Theta(n\lg n)
T(n)=2T(n/2)+nlgnT(n) = 2T(n/2) + n\lg nmasterteoremet, tilfelle 2 (k=1k=1)Θ(nlg2n)\Theta(n\lg^2 n)
T(n)=2T(n/2)+n2T(n) = 2T(n/2) + n^2masterteoremet, tilfelle 3Θ(n2)\Theta(n^2)
T(n)=4T(n/2)+nT(n) = 4T(n/2) + nmasterteoremet, tilfelle 1Θ(n2)\Theta(n^2)
T(n)=8T(n/2)+n3T(n) = 8T(n/2) + n^3masterteoremet, tilfelle 2 (k=0k=0)Θ(n3lgn)\Theta(n^3\lg n)
T(n)=7T(n/2)+n2T(n) = 7T(n/2) + n^2masterteoremet, tilfelle 1Θ(nlg7)\Theta(n^{\lg 7})
T(n)=2T(n/4)+1T(n) = 2T(n/4) + 1masterteoremet, tilfelle 1Θ(n)\Theta(\sqrt{n})
T(n)=T(n1)+Θ(1)T(n) = T(n-1) + \Theta(1)iterasjonΘ(n)\Theta(n)
T(n)=T(n1)+nT(n) = T(n-1) + niterasjoneksakt n(n+1)/2n(n+1)/2; Θ(n2)\Theta(n^2)
T(n)=T(n1)+2n1T(n) = T(n-1) + 2^{n-1}iterasjoneksakt 2n12^n - 1; Θ(2n)\Theta(2^n)
T(n)=2T(n1)+1T(n) = 2T(n-1) + 1iterasjoneksakt 2n12^n - 1; Θ(2n)\Theta(2^n)
T(n)=2T(n/2)+n/lgnT(n) = 2T(n/2) + n/\lg ningenk=1k = -1faller utenfor pensumvarianten

De fem øverste dekker de fleste algoritmene i denne boka. Kjenner du dem igjen
uten å regne, sparer du minutter du trenger andre steder.

Begrepsbank

Begrepsbanken er flashcard- og repetisjonsstoff — den gjentar det du nettopp
har lest. Hopp trygt over ved førstegangslesing; tidsanslaget for kapitlet
gjelder kjernestoffet.

Sjanger B — rekurrensløsning med navngitt metode

oppgavetypen der du får en rekurrens og skal løse den.

Svarformen er metodens navn, svaret på riktig form — asymptotisk eller eksakt —
og for masterteoremet også hvilket tilfelle som gjelder.

Metodenavnet er ett ord, og det er en del av det som gir uttelling.

Sjekklista for metodevalg

spør i denne rekkefølgen: (1) ber oppgaven om et eksakt uttrykk? Da
iterasjon. (2) Ber den deg vise en gitt grense? Da substitusjon. (3) Er
formen aT(n/b)+f(n)aT(n/b)+f(n)? Da masterteoremet. (4) Ellers iterasjon.

Rekkefølgen er viktig: svarformen bestemmer før rekurrensens form gjør det.

Ordet «eksakt» slår masterteoremet, uansett hvor pen rekurrensen ser ut.

Tilfelle 2 og logaritmefaktoren
f(n)=Θ(nlogbalgkn)f(n) = \Theta(n^{\log_b a}\lg^{k} n) med k0k \ge 0 gir
T(n)=Θ(nlogbalgk+1n)T(n) = \Theta(n^{\log_b a}\lg^{k+1} n).

Du legger til én logaritme; du beholder ikke den du hadde.

Dette er stedet flest poeng faller. For f(n)=nlgnf(n) = n\lg n og
nlogba=nn^{\log_b a} = n er svaret Θ(nlg2n)\Theta(n\lg^2 n).

Betingelsen k0k \ge 0

potensen på logaritmefaktoren i tilfelle 2 må være ikke-negativ.

k=0k = 0 er tillatt og er det vanligste tilfellet, siden lg0n=1\lg^0 n = 1.

Negativ kk faller utenfor pensumvarianten: T(n)=2T(n/2)+n/lgnT(n) = 2T(n/2) + n/\lg n har
k=1k = -1, og da skal du si at teoremet ikke gjelder.

Regularitetsbetingelsen

kravet af(n/b)cf(n)af(n/b) \le c\,f(n) for en konstant c<1c < 1 og alle store nok nn, som
må holde i tilfelle 3.

Den sier at arbeidet på toppen virkelig dominerer, og ikke blir tatt igjen av
nivåene under.

Skriv den ut på én linje — det er ett av leddene som gir uttelling i
tilfelle 3.

Tilfelle 3 og fraværet av logaritme

i tilfelle 3 er svaret Θ(f(n))\Theta(f(n)) — ingen ekstra logaritmefaktor.

Å legge til én er en refleks fra tilfelle 2 og gjør svaret galt.

Kontrollen: dominerer f(n)f(n) en hel potens over nlogban^{\log_b a}, er
rekursjonen asymptotisk uvesentlig, og da er ff alene svaret.

Iterasjon og grunntilfellet

i et eksakt svar er grunntilfellets verdi et ledd eller en faktor i uttrykket.

T(n)=T(n1)+3T(n) = T(n-1)+3 gir 3n3n med T(0)=0T(0) = 0, men 3n+53n+5 med T(0)=5T(0) = 5.

For asymptotiske svar betyr grunntilfellet som regel ingenting — det er
ved eksakte svar det avgjør.

Substitusjonssteget

sett induksjonshypotesen inn der TT-uttrykket står, regn ut, og vis at du
ender på nøyaktig den formen du antok.

Et restledd betyr at konstanten vokser per nivå, og da er ikke påstanden vist.

Reparasjonen er ofte å styrke hypotesen med et lavere ledd som trekkes
fra, for eksempel cn2dnc\,n^2 - d\,n i stedet for cn2c\,n^2.

Felle #5 — feil masterteorem-tilfelle

å velge feil av de tre tilfellene, eller å bomme på logaritmefaktoren.

De to hyppigste variantene: å glemme lgn\lg n i tilfelle 2, og å bruke tilfelle
2 med negativ kk.

Kontrollen: regn ut nlogban^{\log_b a} eksakt, og avgjør deretter om f(n)f(n) er
mindre, like stor eller større — i den rekkefølgen.

Eksakt mot asymptotisk svarform

et eksakt uttrykk gir verdien av T(n)T(n) for hver nn; en asymptotisk grense gir
bare vekstklassen.

n(n+1)/2n(n+1)/2 mot Θ(n2)\Theta(n^2) — begge er sanne om den samme rekurrensen.

Bare den ene er svaret på et gitt spørsmål. Ordet «eksakt» i
oppgaveteksten avgjør.

Repetisjonsoppgaver

Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.

Skolesaga er en uavhengig læringsressurs og er ikke tilknyttet eller godkjent av Norges teknisk-naturvitenskapelige universitet. Dette er ikke offisielt studiemateriell. Les mer.