In this project I implemented a static binary search tree from data stored in a file. I then use that binary search tree, that I have implemented to help answer predecessor queries, which are stored in another file containing a list of queries.
A predecessor of a given number is the largest number in the set that is at most the given number.
For example in the set S = { 34, 23, 11, 48, 54, 76 }, with predecessor query q = 42, its predecessor would be 34, as it is the largest number that is not greater than or equal to 42.