<P> As an effective method , an algorithm can be expressed within a finite amount of space and time and in a well - defined formal language for calculating a function . Starting from an initial state and initial input ( perhaps empty ) , the instructions describe a computation that , when executed , proceeds through a finite number of well - defined successive states , eventually producing `` output '' and terminating at a final ending state . The transition from one state to the next is not necessarily deterministic ; some algorithms , known as randomized algorithms , incorporate random input . </P>
<P> As an effective method , an algorithm can be expressed within a finite amount of space and time and in a well - defined formal language for calculating a function . Starting from an initial state and initial input ( perhaps empty ) , the instructions describe a computation that , when executed , proceeds through a finite number of well - defined successive states , eventually producing `` output '' and terminating at a final ending state . The transition from one state to the next is not necessarily deterministic ; some algorithms , known as randomized algorithms , incorporate random input . </P>
set of rules for solving a mathematical or computational problem in finite number of steps
set of rules for solving a mathematical or computational problem in finite number of steps
an algorithm
an algorithm