# Algorithms

Here you can find lists of great Algorithms books suggested by some of top experts form best universities and leading technology companies.

_{Professor of Electrical Engineering and Computer Science at MIT. Ph.D. Stanford.}

_{Note: the following books are not recommended by Professor Rivest. They are books that have been used as reference texts in one/some courses he has taught.}

_{NEC Professor of Software Science and Engineering, and Professor of Electrical Engineering and Computer Science at Massachusetts Institute of Technology. Ph.D. - MIT.}

_{Note: the following books are not recommended by Professor Lynch. They are books that have been used as reference texts in one/some courses she has taught.}

_{RSA Professor of Electrical Engineering and Computer Science at Massachusetts Institute of Technology, and of computer science and applied mathematics at Weizmann Institute of Science. Ph.D. - UC Berkeley.}

_{Note: the following books are not recommended by Professor Goldwasser. They are books that have been used as reference texts in one/some courses she has taught.}

_{Pehong Chen Distinguished Professor at the Department of EECS and Department of Statistics, University of California, Berkeley. Ph.D. University of California, San Diego.}

_{Note: the following books are not recommended by Professor Jordan. They are books that have been used as reference texts in one/some courses he has taught.}

_{Professor of Computer Science at MIT, Ph.D. - Stanford.}

_{Note: the following books are not recommended by Professor Karger. They are books that have been used as reference texts in one/some courses he has taught.}

We all have heard the term Algorithm in many contexts. Terms such as Google search algorithm, Algorithmic trading, Facebook algorithm, and so on. But what is an algorithm? In simple terms, an algorithm is some well-defined sequence of operations, usually to solve a problem or address a need. In computer science, algorithms are used to solve problems in artificial intelligence, computer networking, graphics, security, databases, automated reasoning and decision making, and many other tasks.

It is interesting to know that algorithm is not a new concept and it was created by the 9th-century Persian mathematician and scientist Muhammad ibn Musa al-Khwarizmi or just al-Khwarizmi. Al-Khwarizmi presented the first systematic solution of linear and quadratic equations. One of his principal achievements in algebra was his demonstration of how to solve quadratic equations by completing the square, for which he provided geometric justifications. Because he was the first to treat algebra as an independent discipline and introduced the methods of “reduction” and “balancing” is also known as “the father of Algebra”. 1

_{Muhammad ibn Musa al-Khwarizmi, Persian mathematician and scientist, father of Algebra and the inventor of Algorithm.}