Algorithms and Data Structures are the DNA of computers, they are what run the world that we live in today, and they will probably continue to run the world long after the human race wipes itself off the surface of this planet. Algorithms help us understand life and increasingly in the future will help us in improving it. When I was a child, I was taught that what a computer does is basically INPUT -> PROCESS -> OUTPUT. That is the core of computing: the INPUT and the OUTPUT are Data Structures and the PROCESS is the Algorithm.
- Introduction to Algorithms (Second Edition), By Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein (MIT Press, 2001)
- Data Structures Using C and C++ (Second Edition), By Yedidyah Langsam, Moshe J. Augenstein and Aaron M. Tenenbaum (Prentice Hall, 1995)