collection of algorithms and data structures in c