Coder Social home page Coder Social logo

anthonymedinawork / dsa-simplified Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 153 KB

Designed by Engineers for Engineers. This is your One stop shop for all DSA queries! Here you will find implementation of all sorts of data structures and algorithms.

License: MIT License

C# 100.00%

dsa-simplified's Introduction

DSA Simplified - Designed by Engineers for Engineers, YouTube Channel

Goal is not to learn each and every new framework or language out there, the goal is to get better at problem solving! PERIOD. DSA Simplified is your one-stop shop for all DSA queries! Here you will find implementation of all sorts of data structures and algorithms.

To get ahead of the curve you need to go through these 3 rules of fight club.

  1. Learning Curve - Implement algorithms by yourself.
    • Code out data structures, till concepts are clear, Implement Stack with Push() and Pop() operations which run on O(1) time complexity.
  2. Problem Solving - This is where the real game begins!
    • The Beginning:
      • Initially nothing will make sense, don't worry, this is just a start.
    • The Question:
      • Read the question and try to pick hints, slowly you'd learn to recognise patterns just by reading the question.
    • The Solution:
      • Initially your solution won't even pass 5 test cases. Point is it doesn't matter but the good news is now you are able to think based on the problem.
    • Steal the code:
      • Try to solve the problem at least for 30 mins before you jump to the discussion tab. Find the best suitable solution and copy paste their entire logic, No one is judging you.
    • Debug the code:
      • Debug copied the solution and figured out what the missing puzzle was? Guess what!! Next time when you come across the same pattern you'll know what to do because you've seen this pattern. This is how I learned how to use remainder (%) LOL. That's one pattern, slowly you'd be able to figure out when to use Trie or Union-Find. Stay consistent and code for good.
  3. keep your track record on! Consistency is key my friend. You can master anything if you're consistent enough.

You can make me your leetcode partner Rikam!

Know Your Complexities!

Sorting

Code Best Avg Worst Space Learn Here
Bubble Sort O(n) O(n^2) O(n^2) O(1) Back To Back SWE
Insertion Sort O(n) O(n^2) O(n^2) O(1) Back To Back SWE
Selection Sort O(n^2) O(n^2) O(n^2) O(1) Mycodeschool
Quick Sort O(n Log(n)) O(n Log(n)) O(n^2) O(n Log(n)) Back To Back SWE
Heap Sort O(n Log(n)) O(n Log(n)) O(n Log(n)) O(1) Back To Back SWE
Merge Sort O(n Log(n)) O(n Log(n)) O(n Log(n)) O(n) Back To Back SWE

Trie : Example

Trie Time Space
Build Trie O(n^2) O(n^2)
Lookup O(n) O(1)

Stack

Push Pop
Stack with List O(1) O(1)
Stack with Array O(1) O(1)

Queue

Enqueue Dequeue
Queue with List O(1) O(1)

LinkedList

Insert Delete Lookup
Doubly Linked List O(1) O(1) O(n)

Graph || v = vertices, e = edges in graph

Graph Traversal Algorithms

  1. DFS: Depth First Search
Time Space
DFS with Recursion O(v + e) O(v)
DFS with Stack O(v + e) O(v)
  1. BFS: Breadth First Search
Time Space
BFS with Recursion O(v + e) O(v)
BFS with Queue O(v + e) O(v)

Dijkstra’s Shortest Path Algorithm

Time Space
Shortest Path O(v^2 + e) O(v)

Topological Sort

Time Space
Topological Sort O(v + e) O(v + e)

Heap

Build Heap Insert Remove
MinHeap Iterative O(n Log(n)) O(Log(n)) O(Log(n))
MaxHeap Recursive O(n Log(n)) O(Log(n)) O(Log(n))

LeetCode

Leetcode Question Solution Time Complexity Space Complexity Data Structure
1. Two Sum Two Sum O(n) O(n) Array

dsa-simplified's People

Contributors

anthonymedinawork avatar

Watchers

 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.