You are on page 1of 5

 Clear and Unambiguous: The algorithm should be unambiguous.

Each of
its steps should be clear in all aspects and must lead to only one meaning.
 Well-Defined Inputs: If an algorithm says to take inputs, it should be
well-defined inputs. It may or may not take input.
 Well-Defined Outputs: The algorithm must clearly define what output
will be yielded and it should be well-defined as well. It should produce at
least 1 output.
 Finite-ness: The algorithm must be finite, i.e. it should terminate after a
finite time.
 Feasible: The algorithm must be simple, generic, and practical, such that it
can be executed with the available resources. It must not contain some
future technology or anything.
 Language Independent: The Algorithm designed must be language-
independent, i.e. it must be just plain instructions that can be implemented
in any language, and yet the output will be the same, as expected.
 Input: An algorithm has zero or more inputs. Each that contains a
fundamental operator must accept zero or more inputs.
 Output: An algorithm produces at least one output. Every instruction that
contains a fundamental operator must accept zero or more inputs.
 Definiteness: All instructions in an algorithm must be unambiguous,
precise, and easy to interpret. By referring to any of the instructions in an
algorithm one can clearly understand what is to be done. Every
fundamental operator in instruction must be defined without any
ambiguity.
 Finiteness: An algorithm must terminate after a finite number of steps in
all test cases. Every instruction which contains a fundamental operator
must be terminated within a finite amount of time. Infinite loops or
recursive functions without base conditions do not possess finiteness.
 Effectiveness: An algorithm must be developed by using very basic,
simple, and feasible operations so that one can trace it out by using just
paper and pencil.
Properties of well defined Algorithm:
 It should terminate after a finite time.
 It should produce at least one output.
 It should take zero or more input.
 It should be deterministic means giving the same output for the same input
case.
 Every step in the algorithm must be effective i.e. every step should do
some work.
1)Input specified
The input is the data to be transformed during the computation to
produce the output.An algorithm should have 0 or more well-defined
inputs.Input precision requires that you know what kind of data, how
much and what form the data should be

2)Output specified
The output is the data resulting from the computation (your intended
result). An algorithm should have 1 or more well-defined outputs, and
should match the desired output.Output precision also requires that
you know what kind of data, how much and what form the output
should be (or even if there will be any output at all!).

3)Definiteness

Algorithms must specify every step and the order the steps must be
taken in the process.Definiteness means specifying the sequence of
operations for turning input into output. Algorithm should be clear and
unambiguous.Details of each step must be also be spelled out
(including how to handle errors).It should contain everything
quantitative and not qualitative.

You could not expect a computer to understand something if you


yourself are ambiguous about it.Right!

4)Effectiveness

For an algorithm to be effective, it means that all those steps that are
required to get to output must be feasible with the available
resources.It should not contain any unnecessary and redundant steps
which could make an algorithm ineffective.
For example,suppose you are cooking a recipe and you chop
vegetables which are not be used in the recipe then it is a waste of
time.

5)Finiteness

The algorithm must stop, eventually.Stopping may mean that you get
the expected output OR you get a response that no solution is possible.
Algorithms must terminate after a finite number of steps.An algorithm
should not be infinite and always terminate after definite number of
steps.

There is no point in developing an algorithm which is infinite as it will


be useless for us.

6)Independent

An algorithm should have step-by-step directions, which should be


independent of any programming code.It should be such that it could
be run on any of the programming languages.
Thus,these are the characteristics that an algorithm should have for its
fruitfulness.

You might also like