Quicksort
In my previous post on quick sort I covered in detail the recursive implementation of the famous sorting algorithm. In that post I mentioned that a downside of quick sort is that it has the potential to encounter worst-case quadrati
If you were stuck on a desert island with just one data structure, which would it be and why?
This is a silly but fun question, and after giving it some thought, my answer most likely shouldn't surprise most readers: A balanced binary se
Bloom Filters
Bloom filters have been around for a while, 1970 to be exact. They're not exactly the star of any university data structures class. There are much "sexier" (yeah, i know.) data structures like self balancing search trees, hash t
Part 2: expanding the collision resolution repertoire
Welcome back for part two of my articles on hash tables. In my previous article i covered the basics of linear probing. In this article i will discuss another popular collision resolution tIn part one of my article on open address hash tables i discuss hash functions, initializing the table and buckets, as well as insertion and searching via linear probing.
-
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
-
Designing Abstract Syntax Trees: Homogenous vs. Heterogenous Node Structures
-
LR(0) Closure: From LR Items to LR States
-
Calculating Follow Sets of a Context Free Grammar