In the ninth century Abu Abdullah Muhammad ibn Musa al-Khwarizmi, a Persian mathematician, introduced algebrac concepts and Arabic numerals while he was working in Baghdad. During the time Baghdad was the international center for scientific study. Abu Abdullah Muhammad ibn Musa al-Khwarizmi's process of performing arithmetic with Arabic numerals was called algorism. In the eighteenth century the name evolved into algorithm. Algorithms are a finite set of carefully defined instruction. Algorithms are procedures that are used for accomplishing some task which will end in a defined end-state. Algorithms are used in linguistics, computers, and mathematics.
Many people like to think of algorithms as steps in a well written recipe. Provided you follow each step of the recipe to the letter you will have an edible dinner. As long as you follow each step of the algorithm you will find the proper solution. Simple algorithms can be used to design complex algorithms.
Computers use algorithms as a way to process information. All computer programs are created with algorithms (or series of algorithms) that give the computer a list of instructions to follow. Computers usually read data from an input device when using an algorithm to process information. In order to be successful algorithms need to be carefully defined for a computer to read them. Program designers need to consider every possible scenario that could arise and set up a series of algorithms to resolve the problem. Designers have to be very careful not to change the order of the instructions; computers cannot cope with an algorithm that is in the wrong place. Flow of control refers to how the list of algorithms must start at the top and go all the way to the bottom, following every single step on the way.
Some terms that are used to describe algorithms include natural languages, flowcharts, psudocode, and programming languages. Natural expression algorithms are generally only seen in simple algorithms. Computers generally use programming languages that are intended for expressing algorithms.
There are different ways to classify algorithms. The first is by the specific type of algorithm. Types of algorithms include recursive and interative algorithms, deterministic and non-deterministic algorithms, and approximation algorithms. The second method used to classify algorithms is by their design methodology or their paradigm. Typical paradigm is are divide and conquer, the greedy method, linear programming, dynamic programming, search and enumeration, reduction, and probalictic and heuristic paradigms. Different fields of scientific study have different ways of classifying algorithms, classified to make their field as efficient as possible. Some different types of algorithms different scientific fields use include; search algorithms, merge algorithms, string algorithms, combinatorial algorithms, cryptography, sorting algorithms, numerical algorithms, graph algorithms, computational geometric algorithms, data compression algorithms, and parsing techniques.
Internet search engines use algorithms to aid in search engine optimization. Google's web crawler's use a link analysis algorithm to index and rank web pages. In an attempt to prevent webmasters from using underhanded schemes to influence search engine optimization, many internet search engines disclose as little about the algorithms they use in their optimization techniques.
SEO Related Articles
- Algorithms-The Foundation of Search Engine Optimization
- Basic Information about Search Engine Optimization
- Become Successful By Using Search Engine Optimization
- Controversy Lends a Helping Hand to Search Engine Optimization
- Designing a Web Crawler Friendly Web Site
- Finding a Search Engine Optimization Company
- Google and PageRank-Search Engine Optimization's Dream Team
- Google versus Yahoo!
- How Title and Meta Tags are used for Search Engine Optimization
- Maximize Business Profitability With Search Engine Optimization Techniques
- Natural Search Engine Optimization or Pay-Per-Click
- Newer is not Always Better When it Involves Search Engine Optimization
- Search Engine Marketing-How it Differs from Search Engine Optimization
- Search Engine Optimization and the Knight
- Search Engine Optimization Simplified
- Search Engine Optimization-Budgeting
- Search Engine Optimization-Web Crawlers
- Social Media Optimization
- Spamdexing-the Bane of Search Engine Optimization
- The Definition of Search Engine Optimization
- The History of Internet Search Engines
- Three Basic Steps to Search Engine Optimization
- Why Finding Weak Spots for Keywords Is Important in SEO
- Yahoo! Search Engine Optimization