Grids & Graphs
Grids are a special cases of Graphs called Lattice Graphs, and they show up and time and time again, particularly in Game Development. Certain categories of games, such as Rogue like games are heavily grid based.
Self Balanced Binary Search Trees
When it comes to balanced search trees, their is a wealth to choose from: Red/Black and its associated variants, AVL trees, scape goat trees, splay trees, and the list goes on, and not to mention the non
Merge Sort
Everybody has their favorite algorithms, and merge sort happens to be one of mine. It's also one of the definitive "Divide and Conquer" algorithms. There is a certain elegance to merge sort, and unlike Quicksort, it is a stab
Binary Search Trees
Binary Search Trees are pervasive in computer science, their usefulness can not be overemphasized. From parsing, to searching, to sorting they pop up everywhere, even underpinning other ADT. They offer quick look up times
Rounding Numbers
Rounding numbers is rudimentary math, often times we do it in our head without even realizing we've done it.
-
Parsing Regular Expressions with MGCPGen
-
Determinization: Converting εNFA to DFA
-
Implementing Lexical Scoping: Resolving Variable Names with De Bruijn Indices
-
Improving Balance of Ternary Search Tries
-
Making Sense of LALR Parser Construction
-
Compiling Set Comprehensions to Bytecode: an exercise in managing abstractions
-
Fast Multi-Pattern String Searching with the Aho-Corasick Algorithm
-
Capture Groups: Tracking Regular Expression Sub Matches
-
Resolving Shift/Reduce Conflicts With Operator Precedence
-
Squeezing DFAs with Pair Compression