The knights tour is a classic chess puzzle, which involves finding a path on a chess board where starting from some place on the board, the knight occupies every space once without using the same space twice. Like the N queens problem, finding a knight
Few if any names hold as much weight in computer science as Donald Knuth. So when knuth proposes a solution to a problem, you'd be wise to listen. Amongst his (many) famous contributions is the awesomely named "Algorithm X". To quote wikipedia, Algorit
A fundamental concept for software engineers when it comes to writing maintainable software is the DRY principle: Don't repeat yourself. Many times when writing code we may find ourselves implementing algorithms that are very similar in structure to ea
The set ADT is an important and unique (see what I did there?) data structure with many uses, and many ways to implement them. Often implemented over a linked structure, sets are not quite a list and not quite a dictionary, but often have similar funct
When implementing data structures, its crucial to validate that your implementation is working as expected. A suite of tests is essential to not only debugging, but also optimizing performance one your implementation is correct. In the past I've discus
-
The Aho, Sethi, Ullman Direct DFA Construction Part 2: Building the DFA from Followpos
-
The Aho, Sethi, Ullman Direct DFA Construction, Part 1: Constructing the Followpos Table
-
Procedural Map Generation with Binary Space Partitioning
-
Exact Match String Searching: The Knuth-Morris-Pratt Algorithm
-
The visitor pattern: OOP takes on the Expression Problem
-
Improving mgcLisp's define syntax
-
Separating the Men from the Boys, Knuth Style
-
Reducing rotations during deletion from AVL trees
-
Parsing Lisp: From Data To Code
-
Swiz Heaps: A deterministic modification of Randomized Meldable Heaps