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 t

In 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. hashing

Red Black Trees

Balanced binary search trees are pervasive in modern software. Providing worst case performance of O(logN) red black trees are by far the most pervasive choice when it comes to their implementation. They are famously complicat

Exploring binary heaps for efficiently implementing the Priority Queue ADT.

The Priority Queue ADT

Unlike a regular queue which operates on a first-in first-out fashion, or the Last-in First-out ordering of a stack, a priorit

First In, First Out

Queues are on of the most fundamental data structures in use. Queues are an ordered collection. Items are added in such a way that the first item added to the queue is the first Item to be removed. They pop everywhere