Giter Site home page Giter Site logo

habtamutolera / algorithms Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bee-san/algorithms

0.0 0.0 0.0 59.85 MB

Learn DS&A through leetcode problems

Home Page: https://beesec.gitbook.io/algorithms/

License: GNU General Public License v3.0

algorithms's Introduction

Introduction to Data Structures & Algorithms with Leetcode

You can read this here https://beesec.gitbook.io/algorithms/

{% embed url="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.

Resources

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

How to contribute

  • Explain things more easily
  • Look through my Not Done Yet section and complete / improve them!

Why Leetcode and not X, Y, Z platform?

  1. Everyone knows Leetcode
  2. Leetcode discussion board is popping, and there's many Youtube videos about each platform
  3. 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.
  4. HackerRank's problems are too wordy for me to copy & paste.
  5. Companies use Leetcode
  6. 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.

Important Notes

  • 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.

algorithms's People

Contributors

bee-san avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.