This repository holds the solutions to problems I have solved and is organized by concept or data structure utilized. I have also included resources I found helpful during my interviewing journey.
- Matrices
- Binary Search Trees
- Heaps
- Tries
- Fast Fourier Transform (and inverse)
- Binary Search
- Books
- Cracking the Coding Interview
- Grokking Algorithms
- Algorithm Design Manual
- Elements of Programming Interviews in Python
- Blogs
- Tech/Software Engineering Related News
- Podcasts
- Practice Sites
- Mock Interview Sites
- Pramp.com
- Interviewing.io
- Job Boards
- LinkedIn Jobs
- AngelList
Much credit must be given to Haseeb Qureshi and his blogpost on how to break into the tech industry. This was a major inspiration in my starting of this guide!
- Convex Hull
- Update merge & merge sort
- Shortest Path in Graphs
- Bellman Ford
- A*
- 3 way quick sort (djikstra approach) - used to speed up quicksort when there are duplicate keys
- standardize doc strings (low priority)
- problem statement
- tests (doctests) (understanding check)
- basic algorithm description
- pseudocode (if necessary)
- complexity analysis
- build out more robust testing of algorithms (medium priority)
- build out test suite to run all tests at once
- subfolder in each category
- {algo_name}_test.py
- remove duplicate classes and use imports
- Tree classes (make TreeNode.py)