"That fondness for science, ... that affability and condescension which God shows to the learned, that promptitude with which he protects and supports them in the elucidation of obscurities and in the removal of difficulties, has encouraged me to compose a short work on calculating by al-jabr and al-muqabala , confining it to what is easiest and most useful in arithmetic."

Abu Ja'far Muhammad ibn Musa Al-Khwarizmi
[Born: about 780 in Baghdad (now in Iraq). Died: about 850]

[al-jabr means "restoring", referring to the process of moving a subtracted quantity to the other side of an equation; al-muqabala is "comparing" and refers to subtracting equal quantities from both sides of an equation.]

Compilers  | Computational Geometry  | Computer Architecture | Computer Science
Engineering/Technology | Java | Operating Systems | Parallel Computing 


Algorithms Lecture Notes

  1. Introduction
  2. Mathematics for Algorithmic
  3. Greedy Algorithms
  4. Divide & Conquer Algorithms
  5. Dynamic Programming
  6. Amortized Analysis
  7. Hash Table
  8. Binary Search Tree
  9. Graph Algorithms
  10. String Matching
  11. Sorting
  12. Linear-Time Sorting
  13. Computational Geometry
  14. Computational Complexity
  15. Approximate Algorithms
  16. Linear Programming
  17. Appendix
    1. Parabola
    2. Tangent
  18. Codes
  19. References

Algorithm Home Page
Dictionary of Algorithms & Data Structures --  NIST  
Dictionary of Algorithms & Data Structures -- FOLDOC
On-line Encyclopedia of Integer Sequences
Glossary (Design & Analysis of Algorithms).
Algorithms and Data Structures Books 
Books by Don Knuth (and links to papers)







Quantum Computing



Graph Algorithms


Societies and Organizations



There is no place like Home