Definition:
An algorithm is a finite set of discrete statements (or Steps) in some particular sequence (or Order) to accomplish a predefined particular task.
Properties:
An algorithm must have the following properties:
Input(s) : An algorithm must have one(1) or more prespecified input(s).
Output(s) : An algorithm must have one(1) or more output(s).
Definiteness : Each steps of an algorithm must define clearly (i.e. without any confusion or Contradiction or Ambiguity).
Finiteness : Each steps of an algorithm must be terminated in finite(tolerable) amount of time.
Effectiveness :
Any calculations performed / Decision taken by a computer or any
electronic machine with respect to an algorithm should be computable by
the human beings with pencil and paper although time may be longer.
Correctness : An algorithm should always produce correct result with respect to it's domain ( of the inputs ).
Example of an iterative algorithm:
Samplealgorithm(N, s)
1. i = 0, s = 0.
2. WHILE ( i <= N) [ Start of Loop ]
s = s + i.
i = i + 1
EndWhile [ End of Loop ]
3. Return
What is Recursion?
In recursion, in contrast with loop, has the following properties:
Example of an recursive algorithm:
Samplealgorithm(N, s)
1. i = 0, s = 0.
2. Call RecAdd(N, s, i)
3. Return
RecAdd(N, s, i)
1. IF (i > N ) Return. [ Base Criteria, No More Call ]
2. s = s + i.
3. Call RecAdd(N, s, (i+1)) [ Calling itself ]
4. Return.
Here RecAdd is defined recursively not iteratively.
Reference  here
Classification of Algorithms in terms of Flow of Control:
Algorithm can be classified two category as follows: 
Iterative Algorithm: In this category of algorithm mainly Loop are used to solve a difficult problem in simple manner.

Recursive Algorithm: In this category of algorithm the concept of Recursion are used to solve a difficult problem in simple manner.
What is Loop?
Loop is a concept
where a set of statement(s) written in a block with in the algorithm
will be computed a finite number of times, limited by some condition(s).Example of an iterative algorithm:
Samplealgorithm(N, s)
1. i = 0, s = 0.
2. WHILE ( i <= N) [ Start of Loop ]
s = s + i.
i = i + 1
EndWhile [ End of Loop ]
3. Return
What is Recursion?
In recursion, in contrast with loop, has the following properties:
 An algorithm should be capable to Call Itself.
 There should be some Base Criteria, for which the algorithm should not call itself.
 Each time the algorithm will call itself, result should converge toward the solution of the problem.
Example of an recursive algorithm:
Samplealgorithm(N, s)
1. i = 0, s = 0.
2. Call RecAdd(N, s, i)
3. Return
RecAdd(N, s, i)
1. IF (i > N ) Return. [ Base Criteria, No More Call ]
2. s = s + i.
3. Call RecAdd(N, s, (i+1)) [ Calling itself ]
4. Return.
Here RecAdd is defined recursively not iteratively.
Reference  here
0 comments:
Post a Comment