In this blog we are going to learn about the Algorithm, we will know basic introduction, history, advantages and disadvantages of algorithm but it's not a tutorial, it is brief information about the Algorithm in Computer System.
An algorithm is a finite sequential steps to solve any problem or task. In simple words, it is steps taken to solve any problem. It can be understood by taking an example of cooking food, if you want to make pizza then you need its recipe. Following the steps mentioned in the recipe you will be able to make pizza. In Computer System algorithm is very useful in making better programs and software. They can manipulate and process data and perform calculation or action in various ways like making automation software.
The Algorithm originates in 9th from Persia. At this time the Persian scientist, astronomer and mathematician Abdullah Muhammad bin Musa al-Khwarizmi, often called as "The Father of Algebra", was indirect responsible for the creation of the term "Algorithm". According to him a complex problems can be solved by breaking them into small pieces but this was not the beginning of Algorithm.
The very first recognizable algorithm may well have been created by the Babylonians around 1600 BC. Recorded in clay tablets in a form of cuneiform, these algorithms were used for factorization and finding square roots, etc, and were very simple by today's standards. The Euclid introduce his famous "Euclidean algorithm" in around 300 BC after this over the following centuries new methods were discovered in the various countries also.
The real progress of the modern algorithm occurred during the mid-to-late-industrial revolution. At this time, George Boole notably invented binary algebra, the basis for modern computer. Ada Lovelace introduce the very first "computer programs" in the 1840s and she is considered as the inventor of the Computer Algorithm.
Some of the characteristics of Algorithm are:-
- Input Specified:- An algorithm have 0 or more well-defined inputs. Input precision requires that you know what kind of data, how much and what form of data should be.
- Output Specified:- An algorithm should have 1 or more well-defined outputs, and should match the desired output. Output precision also requires that you know what kind of data, how much and what form of output should be.
- Definiteness:- Definiteness means specifying the sequence of operations for turning input into output. Algorithm should be clear and unambiguous.
- Effectiveness:- Algorithm should not contain unnecessary and redundant steps which could make an algorithm ineffective.
- Finiteness:- Algorithm must stop at the particular point
- Independent:- An Algorithm should have step-by-step direction, which should be independent of any programming code. It should be such that it could be run on any of the programming language.