RedBlackTree

There are four .py files in the project. The functions related to the node of a red -black tree are implemented in Node.py. The core functions of the red-black tree are implemented in RedBlackTree.py. Besides, test.py contains functions of some test cases and functions for evaluating the performance of the algorithm. Plus, main.py is the entry of the whole program. The code is commented in great detail so that all the functions can be understood easily. To run the code, just type in "python3 main.py" in the terminal or run main.py in any IDE you like. Before running, make sure these packages are already installed to avoid errors: random, tqdm, timeit and matplotlib. These libraries have nothing to do with the core function of red black tree. But they are necessary for testing and illustrating the performance of the code. At the end of the process, a log.txt will be created to store all the results of test cases. Besides, a figure will be plotted to illustrate the complexity of each operation. Note that the vertical axis in the figure is meaningless because it illustrates the normalized time cost. What really matter are the waveform and trend of each curves to check if each operation follows its corresponding complexity