Data Structure Part-2-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.
  • Pre-conditions: The condition(s) on input.
  • Body of the Algorithm: A sequence of clear and unambiguous instructions.
  • Post-conditions: 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 step-by-step 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.

1 comment: