- 269 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'recursive and iterative algorithms' - MikeCarlo

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### Recursive and Iterative Algorithms

Debasis Mitra, FIT

What does the following algorithm do?

Algorithm what(n)

(1) x:=1; y:=1; z:=0;

(2) for int I:=1 to n-2 do

(3) z := x +y;

(4) y := x;

(5) x := z;

end for;

(6) return z;

End algorithm.

Debasis Mitra, FIT

Now this Algorithm?

Algorithm now-what(n)

(1) if n = = 1 or 0 then return 1

(2) else

(3) return now-what(n-1) + now-what(n-2)

(4) end if;

End algorithm.

Debasis Mitra, FIT

Actually the recursion is working like:

Algorithm now-what(n)

(1) create stack;

(2) if n>1 then push(stack, n);

(3) int temp := 0;

(4) while stack not empty do

(5) int x := pop(stack);

(6) if x > 1 then

(7) push (stack, x-1);

(8) push (stack, x-2);

else

(9) temp := temp + 1;

end if;

end while;

(10) return temp;

End algorithm.

Debasis Mitra, FIT

Recursion tree for recursive Fibonacci number calculation: sample

n-w(4)

n-w(2)

n-w(3)

n-w(0)

n-w(1)

n-w(2)

n-w(1)

n-w(1)

n-w(0)

n-w(4) = n-w(1) + n-w(0) + n-w(1) + n-w(1) + n-w(0)

= 5

Debasis Mitra, FIT

Binary search recursive algorithm

Algorithm bin-search(sorted array A, index f, index l, key)

(1) If f = = l

(2) If key = = A[f] then return f

else return failure;

else

(3) int mid = (f + l)/2;

(4) if key >A[mid]

(5) return bin-search(A, mid+1, l);

else

(6) return bin-search(A, f, mid);

end if;

end if;

End algorithm.

Driver: bin-search (A, 1, n).

Debasis Mitra, FIT

Binary Search iterative algorithm: stack-based

Algorithm bin-search(sorted array A, key)

(1) create stack; int f := 1; int l := size_of(A);

(3)push(stack, (f,l));

(4) while stack not empty do

(5) (f, l) := pop(stack);

(6) if f = = l then

(7) if key = = A[f] then return f

(8) else return failure;

else

(9) int mid := (f+l)/2;

(10) if key > A[mid] then

(11) push (stack, (mid+1, l));

else

(12) push (stack, (f, mid));

end if;

end while;

End algorithm.

Debasis Mitra, FIT

Binary Search iterative algorithm: non-stack based

Algorithm bin-search(sorted array A, key)

(1) int f := 1; int l := size_of(A);

(2) While fl do

(3) int mid := (f + l)/2;

(4) if key > A[mid] then

(11) f := mid +1;

else

(12) l := mid;

end while;

(13)If key = = A[f] then return f

(14) else return failure;

End algorithm.

Debasis Mitra, FIT

Download Presentation

Connecting to Server..