Data Structure and Algorithms in C