Fundamental Algorithms and Data Structures in C