We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 6
What is an Algorithm?
• Generally Algorithm refers to any special method of solving a
certain kind of problem. • In computer science, Algorithm refers to a precise method useable by a computer for the solution of a problem. • Informally, an algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values, as output. • An algorithm is a sequence of computational steps that transform the input into the output. The different characteristics of an Algorithm are: (1) Input: An algorithm may have zero or more inputs which are externally supplied. (2) Output: An algorithm produces one or more outputs. (3) Finiteness: An algorithm terminates after a finite number of steps or operations. An algorithm is composed of a finite set of steps, each of which may require one or more operations. Each operation must be (i) Definite (ii) Effective (i) Definite: It means that the operation must be perfectly clear what should be done. Directions such as "compute 5/0" or "add 6 or 7 to x" are not permitted because it is not clear what the result is or which of the two possibilities should be done.
(ii) Effective: It means that each operation can be done by a
person using pencil and paper in a finite amount of time. Performing arithmetic on integers is an example of an effective operation, but arithmetic with real numbers is not, since some values may be expressible only by an infinitely long decimal expansion. Adding two such numbers would violate the effectiveness property. The study of algorithms includes many important and active areas of research like: (1) How to devise algorithms (2) How to express algorithms (3) How to validate algorithms (4) How to analyze algorithms (5) How to test a program (1) How to devise algorithms To devise new and useful algorithms the different design strategies are (i) Dynamic Programming (ii) Linear Programming (iii) Non-Linear Programming (iv) Integer Programming (v) Divide and Conquer (vi) Incremental Approach (2) How to express algorithms An algorithm can be expressed using pseudo code and flow chart. English is sometimes the best way for expressing algorithms.
(3) How to validate algorithms
The process of checking that the algorithms is computing correct outputs for all possible legal inputs.
(4) How to analyze algorithms
Analysis of algorithms refers to the process of determining how much computing time and storage an algorithm will require. (5) How to test a program Testing a program really consists of two phases: debugging and profiling. Debugging is the process of executing programs on sample data sets to determine if faulty results occur and, if so, to correct them. Profiling is the process of executing a correct program on data sets and measuring the time and space it takes to compute the results.
What is an algorithm? Explain its characteristics in detail.