Data Structures & Algorithms
Course outline:
- Random Numbers
- Concepts of Algorithms
- Data Structures
- Heaps
- Greedy Algorithms and Dynamic Programming
- Parallel Computing
- P and NP
- Numerical Aspects of Algorithms
- Systems of Linear Equations
- Least Squares
- Eigenvalues and Sparse Matrices
- Systems of Nonlinear Equations
- Numerical Integration and MCMC
- Numerical Optimization
Some online resources I’ve found helpful:
- Steven Skiena https://m.youtube.com/watch?v=A2bFN3MyNDA&list=PLOtl7M3yp-DX32N0fVIyvn7ipWKNGmwpp
- MIT 6.006 https://m.youtube.com/playlist?list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb
- An Open Guide to Data Structures and Algorithms https://pressbooks.palni.org/anopenguidetodatastructuresandalgorithms/
- Algorithms by Jeff Erickson http://jeffe.cs.illinois.edu/teaching/algorithms/#book
- Awesome Algorithms on GitHub https://github.com/tayllan/awesome-algorithms
References
Skiena, Steven S. 2020. The Algorithm Design Manual. 3rd ed. Texts in Computer Science. Springer. https://doi.org/10.1007/978-3-030-54256-6.