Algorithm
An algorithm
is a step by step procedure to solve a problem. Steps of an algorithm are often
called instructions. Process of solving any problem becomes easier with the use
of Algorithm. It is better for programmer to write algorithm before writing
actual computer program. Algorithms are used for calculations and data
processing.
Informal definition:
An ordered
sequence of instructions that is guaranteed to solve a specific problem is
called algorithm.
Properties of Algorithm
·
In
Algorithm, given problem should be broken down into simple and meaningful
steps.
·
These
steps should be numbered sequentially.
·
These
steps should be descriptive and written in simple English.
Algorithm is written in a language that is similar to English language called Pseudo Code.
There is no
standard is defined to write a pseudo code. It is used to specify program
logic. Pseudo code simplifies program development by separating it into two
main parts, which are following:
Logic Design
Here the
logic of the program is designed. In Logic Design, coder or designer specify
different steps which are required to solve the problem and moreover the
sequence of these steps is defined.
Coding
Here, the
defined algorithm for a specific program is converted into a program. It is the
work of developer, implementer or coder. Here steps of algorithm which are
defined in “Logic Design” are translated into instructions of any programming
language.
Use of
pseudo code allows the programmer to focus on the planning of program. And when
planning is final, it can be written in any programming language.
Examples of Algorithm
Example 1
In the
following algorithm, we take two inputs, find their product and display the
result.
1. Start
2. Input a
3. Input b
4. Product=a*b
5. Display product
6. Exit
Example 2
Following algorithm, calculate the sum of first fifty natural
numbers.
1. Start
2. Sum=1
3. N=0
4. Repeat step 5 and 6 While (N<=50)
5. Sum=Sum + N
6. N=N+1
7. Print Sum
8. End
Example 3
Analysis of Algorithm
Analysis of algorithms is the area of Computer Science that
provides different tools to analyze the efficiency of different methods of
solutions. To compare the time efficiency of two or more algorithms to solve
same problem, Naïve Approach implements these algorithms in
programming language C++ and run them to compare time requirements. Comparing
the programs instead of algorithms, we have difficulties as:
How are the algorithms coded?
Comparing running times of two or more algorithms means
comparing implementations. We should not compare implementations because they
are very sensitive to programming style that may cloud the issue of which
algorithm is inherently more efficient.
What computer should we use?
We should compare the efficiency of algorithms independently
of a particular computer.
What data should the program use?
Analysis must be independent of specific data.
Advantages of Algorithm
Basic advantages of algorithm are following:
Reduced Complexity
When we write an algorithm, we just focus on solving the
problem and we don’t concentrate on any particular language. Writing algorithm
and program separately simplifies the overall task by dividing it into two
simpler tasks.
Increased Flexibility
In algorithm we know that we just define the logic to solve a
problem that is we don’t follow and focus on a particular type of language or
languages. It means that using an algorithm, the program can be written in any
language like Java, Visual Basic or C++ etc.
Ease of Understanding
To understand the algorithm we don’t need to understand any
particular programing because it is so simple like English manner. So it is
very easy to understand.
No comments:
Post a Comment