>>10832990algorithms are overrated*. here i list the only ones you'll ever use (some closely tied to data structure so)
- sorting (qsort is enough)
- searching (binary search is more than enough)
- hash table
- trie
- binary tree
(I'm skipping obvious stuff like arrays, selection sort, linear search etc)
as a bonus you can learn some nice algorithms like recursive descent, abstract syntax tree etc.
being comfortable with recursion is a big plus.
i code in C for 12 years, 8 of them being professionally. i wrote commercial antivirus engines, server applications, hobby compilers etc. I rarely needed anything more then those i mention above.
most pepople don't even code in C let alone doing systems programming as i do, so chances that you won't need anything more is high. you can always learn them as needed.
i needed a pathfinding algorithm a year back, and it took me one day to learn and implement A*.
* they always ask algorithm questions in interviews but you rarely use those in real job.