This is the library that you finally create in my book Learn C The Hard Way found at:
http://c.learncodethehardway.org/
- Make tst_traverse abort if too deep.
- Add the RadixMap_sort_tail from Mongrel2 to study as an exercise.
- Look up whatever tail recursion is available in GCC or others.
- binary search -- got in sarray.c and radixmap.c
- qsort -- used in sarray.c but maybe implement?
- heap -- don't have, could add
- radix sort -- have that, and in radixmap
- jenkin's hash -- need another one, djb's maybe?
- boyer-moore-horspool search -- bstrlib.c doesn't use this, so show how to make one
- longest common subsequence -- tst vs. sarray
- all common prefixes -- tst vs. sarray
- all substrings -- tst vs. sarray
- async file client/server -- ringbuffer, queue
- non-linear suffix tree delta -- that was cool, figure it out again
- RC4 is actually cooler and fits the student at that stage
- timsort maybe? -- no too complicated
- merge sort on double-linked-lists is a good algorithm.