Subsets of Algorithms and Data Structures, and More
These notes mainly serves as my external memory and practicing space when studying algorithms.
I'm now training myself proficient in C/C++, Lua, Python. My current focus is on numerical programming with C++.
The C++ for numerical programming is based [Numerical Recipes].
The Python part is based on [Data Structures and Algorithms in Python], with OOP in mind.
Workflow
All my external knowledge is stored in EverNote with Markdown & LaTeX support. After editing, I port it into GitBook. I tried to build the whole notetaking system with Jupyter notebooks, but failed due to the lack of hierarchy and global search functionality.
Resource Collection
General
Data Structure and Algorithm. leetcode/lintcode, algorithm GitBook, in Chinese
ACM cheat sheet, C, C++, Java
The Algorithm Design Manual and Repository, Steven Skiena,
Problem Solving with Algorithms and Data Structures Using Python
VisualGo, visualising data structures and algorithms through animation
PyAlgoViz, Python algo visualization
Algorithm and data visualization, Mike Bostock
Data Structures and Algorithms with Python, book and code, Kent Lee
Library
Common data structure and algorithms in Python and Java, Geek view
Interview
Solutions to Elements of Programming Interviews: 300 Questions and Solutions, http://bit.ly/epibook, C++
Everything you need to kick ass on your coding interview, Github list
LintCode, Online, C, Java, Python
LeetCode with Python explanation