Sunday, 16 June 2013

Introduction To Algorithm


                        What Is Algorithm?
Before defining algorithm , Let's consider a function y=f(x).What does it mean actually?Here f is nothing but a machine which takes a value of  x as raw material and produces y as product depending on raw material (i.e x).For example ,f(x)=x^2(consider x belongs to set of integer),it is a function (or machine) that gives the square of a integer as output which is given as input to the function.
In Computer Science (and in Mathematics also), algorithm is a set of instructions (or collection of procedures you can say) which takes some value(s) as  input and after step by step processing the value(s) (as specified by the set of instructions) it produces output in some finite time.It can be written in English,Computer Program or even as a Hardware design.

                               Why Do We Learn Algorithm?
No doubt,Design and Analysis of Algorithm is the most challenging and interesting area of computer science.It helps to think a problem more mathematically as well as abstractly.To become a Class creator or Application Programmer in a company one should have a good knowledge on this subject.Algorithm is required in almost all fields of Computer Science.consider Theoretical Computer Science,you need K.M.P string matching algorithm,in Computer Networks you need Routing Algorithms(Static and Dynamic), in Cryptography and Security you use R.S.A Algorithm etc.

           Characteristics Of A Good Algorithm

  •  Finiteness : The most basic and necessary characteristics of an Algorithm is Finiteness. It must terminate after a finite no of steps and each step must be executable in finite amount of time. An algorithm is said to be incorrect if it does not halt for any of its input value.
  • Effectiveness : Each step of a good algorithm Should be effective.It must have some significance related to the solution of the problem(i.e it contribute something to reach the closer to the actual solution).Otherwise it unnecessarily increases time and memory overhead.
  • besides a good algorithm should be Unambiguous,Divided into Modules and Easy to Understand.


2 comments:

  1. Consecutive theories feel boring.Try to place codes,pics,diagrams,illustrations in between the texts.Make it more innovative using your skills & styles.

    ReplyDelete
  2. Actually I have decided to Present all the topics formally from beginning,and as it's the 1st one,it contains theory parts only.You will get codes,pictorial representation and mathematical definition according to requirement.

    ReplyDelete