Algorithm
An algorithm is a procedure having well defined steps for solving a particular problem. Algorithm is finite set of logic or instructions, written in order for accomplish the certain predefined task. It is not the complete program or code, it is just a solution (logic) of a problem, which can be represented either as an informal description using a Flowchart or Pseudo code.
The major categories of algorithms are given below:
 Sort: Algorithm developed for sorting the items in certain order.
 Search: Algorithm developed for searching the items inside a data structure.
 Delete: Algorithm developed for deleting the existing element from the data structure.
 Insert: Algorithm developed for inserting an item inside a data structure.
 Update: Algorithm developed for updating the existing element inside a data structure.
The performance of algorithm is measured on the basis of following properties:
 Time complexity: It is a way of representing the amount of time needed by a program to run to the completion.
 Space complexity: It is the amount of memory space required by an algorithm, during a course of its execution. Space complexity is required in situations when limited memory is available and for the multi user system.
Each algorithm must have:
 Specification: Description of the computational procedure.
 Preconditions: The condition(s) on input.
 Body of the Algorithm: A sequence of clear and unambiguous instructions.
 Postconditions: The condition(s) on output.
Example: Design an algorithm to multiply the two numbers x and y and display the result in z.
 Step 1 START
 Step 2 declare three integers x, y & z
 Step 3 define values of x & y
 Step 4 multiply values of x & y
 Step 5 store the output of step 4 in z
 Step 6 print z
 Step 7 STOP
. Alternatively the algorithm can be written as ?
 Step 1 START MULTIPLY
 Step 2 get values of x & y
 Step 3 z← x * y
 Step 4 display z
 Step 5 STOP
Characteristics of an Algorithm
An algorithm must follow the mentioned below characteristics:
 Input: An algorithm must have 0 or well defined inputs.
 Output: An algorithm must have 1 or well defined outputs, and should match with the desired output.
 Feasibility: An algorithm must be terminated after the finite number of steps.
 Independent: An algorithm must have stepbystep directions which is independent of any programming code.
 Unambiguous: An algorithm must be unambiguous and clear. Each of their steps and input/outputs must be clear and lead to only one meaning.
