@thias @quephird @jrose
Linked lists are a great example, and I have a whole soapbox on what’s wrong and what’s right about teaching them that I don’t have time to type out right now. The very short of it:
- A linked list is rarely a good way to implement a List ADT on modern machines
- But doing that is a great exercise in implementing a contract and thinking about corner cases; useful learning if framed that way (“How can this break?” etc)
- But seriously, please please less of “What big O tradeoff makes using linked lists the right choice?”
- But but! linked / recursive data structures are •ubiquitous•, recognizing that pattern and working with it is essential
- Same for stacks, queues, lots of basic data structures curriculum: less about •choosing• the tool, more about •seeing• the tool