Algorithms and Data Structures in C