Algorithms and data structures in C/C++

Data Structures

All programmers should know something about basic data structures like stacks, queues and heaps. Graphs are a tremendously useful concept, and two-three trees solve a lot of problems inherent in more basic binary trees.

Algorithmic Efficiency and Sorting and Searching Algorithms

Learn how to determine the efficiency of your program and all about the various algorithms for sorting and searching--both common problems when programming.

AI Tutorials

Learn about AI, including how to make game AI using the minimax algorithm.

Advanced Algorithms

If you've mastered the basics, perhaps you'd like to move to more advanced, specialized algorithms

Computer Science Theory

If you've moved on from the advanced algorithms, perhaps you'd like to learn more about the fundamental nature of computation--a deep and rewarding topic.