Programozási tételek
Visszalépéses keresés
Rekurzív változat
kezdetben d[] := 0
Eljárás bt(i)
Ha megoldás(i) akkor
megoldás tárolása vagy kiírása
különben
d[i] := d[i] + 1 // adott szinten a következő döntés
Ciklus amíg d[i] <= MAX
Ha jó(i) akkor
d[i+1] := 0
bt( i + 1 )
Elágazás vége
d[i] := d[i] + 1
Ciklus vége
Elágazás vége
Eljárás vége
megoldás: bt(1)
Ciklusos változat
d[1..n] := 0; i := 1; DB := 0
Ciklus amíg i > 0
Ciklus
d[i] := d[i] + 1
amíg d[i] <= MAX és rossz(i)
Ha d[i] <= MAX
akkor
Ha i = N // megoldás
akkor
DB := DB + 1
megoldás tárolása vagy kiírása
d[i] := 0 // megyünk tovább
i := i - 1
különben
i := i + 1
Elágazás vége
különben
d[i] := 0
i := i - 1
Elágazás vége
Ciklus vége