The Wayback Machine - https://web.archive.org/web/20100724055439/http://www.codeguru.com:80/cpp/cpp/algorithms/

    Algorithms & Formulas

    Classification Of Point In Polygon

    Classify a point respect to a plane polygon that can be concave (i.e. with some angle grater than 180 degrees). Good performance, excellent stability.

    Simplex Optimization Algorithm and Implemetation in C++ Programming

    The article introduces the simplex algorithm, provides a useful C++ function to optimize target function parameters, and shows rich examples, figures, flowcharts. source code is also attached with the article.

    [Updated] TIP: Half Size Triangular Matrix

    Learn about a technique that allows you to use half the data storage when you have a symmetric distance matrix or other similar triangular matrix.

    Calculating Pi to arbitrary number of digits

    The code calculates the value of Pi to arbitrary number of digits such as 100, 1000 etc. The article describes the theory behind the code.

    [Updated] Combinations in C++

    Learn about a simple algorithm to find combinations systematically using C++.

    [Updated] Permutations in C++

    The technique of finding permutations also provides source code for the recursive implementation. Also, learn how to use the STL template function next_permutation().

    [Updated] Five Cents on Arithmetic Encoding

    Learn about a classical arithmetic compression implementation (CACM) optimization.

    Linear Search based algorithm for Mth Lexicographic ordering of Mathematical Permutation and Combina

    Algorithms to compute the M-th lexicographic ordering of a permutation or combination and the inverse problem of the rank of a given permutation or sequence.

    Tip: An Optimized Formula for Alpha Blending Pixels

    Discover how to optimize by simplifying the formula.

    [Updated] Permutations in C++, Part 2

    Speed up the work of finding permutations among different processors.

    [Updated] Combinations in C++, Part 2

    Discover four new algorithms for finding combinations.

    Recursion Primer Using C++, Part 2

    Further your understanding of recursion.

    [Updated] Dynamic Programming: Combination Sum Problem

    Find the coin combinations that add up to a dollar.

    [Updated] Tip: String Wrapper for Formatted String Output in C++

    Learn how to construct a simple and lean string class wrapper that allows you to send formatted output to a string directly.

    TIP: Round a Decimal to an Integer

    Discover a more efficient way to round decimals to integers.

    Implementing a Simple 2D Object Tracker

    Learn how to combine four image alignment algorithms (Lucas-Kanade, forwards-compositional, Baker-Dellaert-Matthews, and Hager-Belhumeur) into a 2D object tracker with dynamic templates and template pixel weights.

    Recursion Primer Using C++, Part 1

    There are many different styles of recursion that can be used in a variety of instances. Learn about the styles and find the one that is best for your current project.

    Making a Class Schedule Using a Genetic Algorithm

    Learn how to make a class schedule by using a genetic algorithm.

    [Updated] Copy Constructors and Assignment Operators

    Copying constructors and assignment operators is easy—once you learn the rules, and you can learn those rules right here.

    Template Meta Programming and Number Theory

    Learn how to implement some basic number theory functions with the help of C++ template meta programming.

    Blitz++: Fast, Accurate Numerical Computing in C++

    With Blitz++, you can turbo charge C++ so that you get advanced language features but lose its poor performance.

    Properties in C++

    Learn how to simulate C# properties in C++.

    Error Detection Based on Check Digit Schemes

    Learn about various Check Digit Schemes and how to implement the scheme.

    Product Activation Based on RSA Signatures

    Learn how to create a Signing of Product Keys to validate activations.

    [Updated] A Deterministic Method of Determining a Document's Modified State

    Determine when a document has been modified. In the particular case of word processors, most tend to have a "dirty" flag that is set when a user types. This article demonstrates a smarter "dirty" flag that uses probabilistic methods.