Introduction to Algorithems
The word Algorithm comes from the name of the muslim author Abu Ja’far Mohammad ibn Musa al-Khowarizmi. He was born in the eighth century at Khwarizm (Kheva), a town south of river Oxus in present Uzbekistan.
Algorithm: Informal Definition An algorithm is thus a sequence of computational steps that transform the input into output.
Why study algorithm design? In any important programming project there are two major types of issues, macro issues and micro issues. Macro issues are the primary subject of courses on software engineering.
Pre-requisties Data Structures Data Structures and Algorithms are not really an independent issue, because most of the fastest algorithms are fast because they use fast data structures, and vice versa.
First come up with a few good designs from a mathematical and algorithmic perspective. Prune this selection by consideration of practical matters (like locality of reference). Finally prototype (that is, do test implementations) a few of the best designs and run them on data sets that will arise in your application for the final fine-tuning.