Data structures will need lots of examples to get people to realize what computers are capable of.
---
A couple others you might consider adding:
disjoint sets(100 lines)- useful for mazes, pathing, whenever you are thinking of floodfill or finding borders. in general will save you from having to think about how to write a BFS
balanced trees (100 lines)- how often do we need to enumerate something in a certain order? with something linear + sorting you can't insert quickly, with a hash table you can't enumerate
tagged union (many many lines for all those accessors) - for debugging/testing, an interface to the structures that stores and checks type information |