I have a pretty good grasp of writing linked lists. However, I want to learn other data structures such as graph, red-black tree, heap, b-tree, etc...

Where is a good place to learn how to implement C data structures? When searching, I usually find these in Java, or some other language, or a generic high-level overview of what they are, but it's helpful to see some actual code. Thanks.