Next: Zaključek
Up: Domača naloga
Previous: Naloga
TRDITEV: Oba seznama hkrati ne moreta biti prazna.
BAZA: Dokazati moramo, da je trditev veljavna za vsako dolžino
prvega niza, ki je večja od 0 in drugega, ki je 0, ter
obratno.
- 1.
-
Ker je sez1 prazen seznam, vrnemo sez2.
Iz tega sledi, da je trditev veljavna.
- 2.
-
Ker je sez2 prazen sezanam, vrnemo sez1.
Iz tega sledi, da je trditev veljavna.
PREDPOSTAVKA: Predpostavljamo, da je trditev veljavna za
vsako dolžino prvega seznama, ki je največ
n1 in drugega, ki je največ n2.
|sez1| = n1
|sez2| = n2
KORAK: Dokazati moramo, da je trditev veljavna:
- za vsako dolžino prvega niza, ki je največ n1 + 1
in drugega, ki je največ n2
- za vsako dolžino prvega niza, ki je največ n1 in
drugega, ki je največ n2 + 1
- za vsako dolžino prvega niza, ki je največ n1 + 1
in drugega, ki je največ n2 + 1
- 1.
-
|sez1| = n1 + 1
|sez2| = n2
Ker noben od seznamov ni prazen, se sprehodimo po zanki do - while.
- 2.
-
|sez1| = n1
|sez2| = n2 + 1
Ker noben od seznamov ni prazen, se sprehodimo po zanki do - while.
- 3.
-
|sez1| = n1 + 1
|sez2| = n2 + 1
Ker noben od seznamov ni prazen se sprehodimo po zanki do - while.
- Če je vred_glave(sez1) > vred_glave(sez2), se izloči glava iz
sez2, dolžina sez2 se zmanjša za 1.
Torej je
|sez2| = n2,
|sez1| = n1 + 1
Pravilnost trditve za ta primer pa smo že pokazali v točki 1.
- drugače pa se izloči glava iz sez1, dolžina sez1 pa se zmanjša
za 1. Sledi, da je
|sez1| = n1,
|sez2| = n2 + 1
Za ta primer pa smo pokazali veljavnost trditve v točki 2.
Next: Zaključek
Up: Domača naloga
Previous: Naloga
Andrej Brodnik (Andy)
1999-05-26