A collection of standard algorithms implemented in various langauges:
- Rust implementations aim for efficiency and use lower-level programming concepts such as indexing or in situ array manipulation.
The motivation is to track my progress as I revisit data structures and algorithms.
As an experiment, I am attaching to many algorithms Time and Space complexity notes, drawn not only from theory but also the specific implementations I've created. The personal value here lies in applying computer science fundamentals to the code I'm writing.
Truthfully, this effort is driven by a personal frustration that many resources on complexity tend to obscure away underlying details for why an algorithm has, say, O(n) Space and/or Time complexity (e.g. stack traces, auxiliary space, etc.).