C RB Tree

An implementation of the Red Black Tree data structure in C, created as a school project.

A Red Black Tree is a type of self-balancing binary search tree, governed by a series of strict rules to ensure it remains highly balanced and hence be highly efficient to search (insertion, deletion and search are all O(log(n))).

This program can create a new tree and either read in nodes from an properly formatted external file or add nodes one at a time. Nodes may also be deleted. After each node is added or deleted the tree is rebalanced according to a strict algorithm. At any time the tree may be printed out in pre-order notation. View the README for more details.

For reference, one may view a more visual implementation of a Red Black tree here.