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

    Algorithms & Formulas

    Logician: A Table-based Rules Engine Suite In C++/.NET/JavaScript using XML

    Overview of a cross-platform spreadsheet-based rules engine with algorithms implemented in C++ and JavaScript, and wrappers to C#/.NET/Silverlight, Flash, and Mobile Platforms(via PhoneGap).

    Recursion Primer Using C++ Part 3

    Zeeshan examines all of the Recursion dimensions (compile time/runtime and structure/generative) with the five different types of recursion (Nested Recursion, Binary Recursion, Mutual Recursion, Tail Recursion and Linear Recursion).

    [Updated] Five Cents on Arithmetic Encoding

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

    C++ Programming: A Better Vector Trim Algorithm With Move Semantics

    Vectors are one of the single most useful and most used objects in the STL. They are easy to use, and remove the burden of memory management from the user. It is possible to partially control memory usage by using functions like reserve, but nothing is provided to free up excess memory. Users have come up with ways to trim a vector by hand, but with the advent of the new C++0x and its move semantics, the classic solution of copy-swaping has become excessively expensive. This article seeks to find a better solution.

    C++ Tutorial: 10 New STL Algorithms That Will Make You A More Productive Developer

    Unquestionably, the most effective tool for a C++ programmer's productivity is the Standard library's rich collection of algorithms. In 2008, about 20 new algorithms were voted into the C++0x draft standard. These new algorithms let you among the rest copy n elements intuitively, perform set theory operations, and handle partitions conveniently. Find out how to use these algorithms to make your code more efficient and intuitive.

    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().

    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.