When it comes to algorithms for removing an entry from a binary search tree there are two general strategies you take: removal by copying and removal by merge. Deletion by copying - sometimes referred to as "hibbard deletion" - is by far the more commo

When it comes to data structures - especially self balancing data structures - it is no secret that the algorithms for removing an entry are often many, many times more complex than the algorithms for adding a value. Anyone w

The relationship between binary search trees and linked lists is no secret. Without the use of some self balancing scheme any binary search tree has the potential to "devolve" into a linked list if subjected to a series of insertions in sorted order. I

Regular expressions and NFA have been an active area of study in theoretical computer science since the late 1950's. As such, there is a large body of work exploring a multitude of ways to evaluate regular expressions for the purpose of pattern matchin

Efficient sorted collections are extremely important. There are many situations where a developer may choose a sorted collection with logarithmic access times over a hashtable with constant access times because the benefit of maintaining the data in so