Introduction to Data Structures & Algorithms with Leetcode
Last updated
Last updated
You can read this here https://beesec.gitbook.io/algorithms/
GitHub repo is here: https://github.com/bee-san/Algorithms
Welcome to Bee's guide to datastructures and algorithms! This is based on https://github.com/guyinatuxedo/nightmare
What you need to know
Learn data structures & algorithms (DS&A) using leetcode
Only learn DS&A that is used in real world
Learn why it works, not just how.
Sorted by how likely it is to show up in an interview and how vital that knowledge is to understanding other DS&A.
The problems are mostly medium - hards, I try to not include easy problems unless they are the first problem in a category.
This is a course on datastructures and algorithms based around leetcode problems. Learn DS&A via problems, with lengthy explanations.
This guide is ordered by how likely it is for that datastructure / algorithm to show up in an interview and how vital that knowledge is to understanding other data structures / algorithms.
Each section will lead with a leetcode style problem, and end with problems you can do on your own. This way, you only ever learn what is relevant.
All code will be in Python due to how easy it is to read. If you want to contribute more code, feel free to. This is on GitHub after all!
If you're okay with Python, but want to learn the advanced stuff check out my other book https://github.com/bee-san/Python-Zero-to-Hero
I also have my own blog, https://skerritt.blog that you may enjoy.
You should roughly know these things. I have linked to some of my own resources for you to learn them:
Python (Not an expert, you can use other languages or contribute more languages)
Big O notation (not an expert, just the basics)
For other resources you should see:
CTCI
MIT 6.006
Explain things more easily
Look through my Not Done Yet section and complete / improve them!
Everyone knows Leetcode
Leetcode discussion board is popping, and there's many Youtube videos about each platform
AlgoExpert is not paying me to tell you that the scariest thing in the world is not knowing how to invert a binary tree in a coding interview yet.
HackerRank's problems are too wordy for me to copy & paste.
Companies use Leetcode
Honestly if any other coding company came along and paid me to advertise their product I would it's just I used Leetcode. Deciding on what the best platform to use is another form of procrastination. I just picked the first one I saw and went with it.
Not all solutions are made by me (bee-san). This book is 100% open source and sometimes people on Leetcode forums have way bettter solutions than I do.