These are some ideas for exercises in learning algorithms and data structures informally, such as in a self-directed way, by mentorship, or by collaboration between learners, or some combination thereof. It also includes some notes and illustrations, presenting some conceptual topics.
This is far from comprehensive coverage of important algorithms and data structures topics. It is mostly limited to linked lists and binary trees.
This repository is made available under CC0.
To the extent possible under law, Eliah Kagan has waived all copyright and related rights to the contents of this repository. This work is published from the United States.
See COPYING
for details.
The contents are:
algorithms-suggestions.md
is the main file, containing descriptions of a number of exercises.- The
theory-notes*
files are about linked lists and call stacks. rough-notes.md
andgraphs.md
suggest future directions for more exercises.
Implementations of the exercises are not included in this repository. They are in separate repositories.
There are three implementations of some of these exercises:
- Pool (C++)
- Search (C++)
- algorithms-python (Python)
Thanks to David Vassallo for extensive consideration and feedback regarding this material, and for testing out numerous suggested exercises, and for suggesting the exercise to pretty-print a tree.
Although work is not currently continuing on algorithms-suggestions or its implementations, the subsequent, more ambitious project palgoviz is somewhat related.