Męczę się już od paru godzin, w jaki sposób zamienić skrypt rekurencyjny wyszukujący podzbiory na iteracyjny. Coś wykombinowałem, ale utknąłem w miejscu:
Rekurencja:
function podzbiory($pocz,$p,$k){ if($p>$k){ }elseif($p==$k){ }else{ $strpom = $pocz.$strpom; podzbiory($strpom,$p+1,$k); $strpom = $pocz." _"; podzbiory($strpom,$p+1,$k); } }
Iteracja:
function podzbiory($pocz,$p,$k){ $l=$p; $strpom = $pocz; do{ $pocz = $strpom; if($l>$k){ }elseif($l==$k){ }else{ $strpom = $pocz.$strpom; } $l++; }while($l<=$k); $strpom = $pocz." _"; //podzbiory($strpom,$p+1,$k); }
Proszę chociaż o wytłumaczenie, jak działa skrypt gdy są 2 wywołania rekurencyjne.
Naprawdę nikt nie jest w stanie pomóc?