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
As computer architectures continue to evolve, data structures which were once considered well suited for one task may shift to become more applicable for a different task. One example of this is the family of balanced search tree's known as B-Trees. B-
-
Implementing Closures in Bytecode: Heap Allocated Activation Records & Access Links
-
Pascal & Bernoulli & Floyd: Triangles
-
A Quick tour of MGCLex
-
Compiling Regular Expressions for "The VM Approach"
-
Composable Linked Digraphs: An efficient NFA Data Structure for Thompsons Construction
-
Improving the Space Efficiency of Suffix Arrays
-
Augmenting B+ Trees For Order Statistics
-
Top-Down AST Construction of Regular Expressions with Recursive Descent
-
Balanced Deletion for in-memory B+ Trees
-
Building an AST from a Regular Expression Bottom-up