Programmingwithout knowledge ofalgorithms and data structures(ADS)is like cracking nuts without a hammer - goes slowly and makes you hungry. ADS is about different types of nuts and hammers. Behind nuts hide computational problems, and behind hammers receipts for solving the problems and data storage approaches. If you enjoy programming you will enjoy ADS.

Receipts are rather called algorithms and storage approaches data structures. You will learn algorithms for various practical problems, such as how to quickly multiply, to sort cards, to divide big problems into smaller ones, to greedily pack things into bags and so on - you life will become vivid and simple. You will be introduced to hidden secretes of data structures. You will learn that computer data is not only numbers, strings and arrays, but also stacks, queues, lists, trees, heaps, graphs, etc. You will easily recognize which algorithm is faster and which tree is higher - yours or neighbour's. Even more, you will learn various methods for solving the problems and, finally, how to make an algorithm faster and better than your neighbor. Unless, of course, your neighbor did listen ADS.

"May the source be with you."