C data structure, algorithm, c/c++ linked list queue stack hash table heap binary search tree avl tree sort algorithm