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 s
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 BTrees. B
I want you to read through the following implementation of mergesort, and think about the reasoning behind why writing this particular algorithm in this particular way would be. I mean, it starts off with a caveat that if a cer

Simple DB Migration with JDBC

Welcome to CodeBlahger, A Blahging Platform for Programmers.

Design Patterns: The Façade Pattern

The Interpreter Pattern: Implementing Interpreters the OOP way

Parsing RightAssociative Operators with Recursive Descent

BST Iterators Revisited: No Parent Pointer, No Stack, No Problem

Deleting Arbitrary Values from Binary Search Trees

Solving the N Queens Problem with Breadth First Search

Performing the Knights Tour in Linear Time

Knuth's Algorithm X For the Exact Cover Problem