Convert function from recursion to iteration

finototsdeo

New Member
I have this function that I wrote that is abysmally slow since php does not handle recursion well. I am trying to convert it to a while loop, but am having trouble wrapping my head around how to do it.Can anyone give me some tips?\[code\] public function findRoute($curLoc, $distanceSoFar, $expectedValue) { $this->locationsVisited[$curLoc] = true; $expectedValue += $this->locationsArray[$curLoc]*$distanceSoFar; $at_end = true; for($i = 1; $i < $this->numLocations; $i++) { if($this->locationsVisited[$i] == false) { $at_end = false; if($expectedValue < $this->bestEV) $this->findRoute($i, $distanceSoFar + $this->distanceArray[$curLoc][$i], $expectedValue); } } $this->locationsVisited[$curLoc] = false; if($at_end) { if($expectedValue < $this->bestEV) { $this->bestEV = $expectedValue; } }}\[/code\]
 
Back
Top