C may give you a reason to do it - because it doesn't include an implementation by default. But that doesn't mean it's the ideal language to use when learning these things. The same algorithms and data structures can be implemented using modern C++, which can be far more intuitive for new programmers.