/sifu

Data Structures and Algorithms(DSA)

Primary LanguagePython

Sifu

Annotations

File Names

With # prefix can mean one of the following:

  1. No implementation yet(NO CODE :-))
  2. Need to simplify the logic
  3. The CODE cannot run AS IS or It doesn't pass the test cases

Examples

No. input -> output => Explanation
No: Enumerator, example number

Examples
[1, 2, 3, 4, 5] -> 3 => Node 3 from this list
1. [1, 2, 3, 4, 5] -> 3 => Node 3 from this list


Data Structures

  1. Arrays
  2. Matrix
  3. Strings
  4. Hashmaps + Hashsets
  5. Stacks
  6. Queues
  7. LinkedList
  8. Heaps
  9. Trees
  10. Trie
  11. Graphs

Algorithms

  1. General Algorithms
  2. Sorting
  3. Binary Search
  4. Numbers n Math
  5. Two Pointers
  6. Slinding Window
  7. Recursion
  8. DFS
  9. Dynamic Programming
  10. Backtracking
  11. String Matching - KMP

Preparation

Guide

  1. https://serhatgiydiren.github.io/preparation-guide-for-tech-interviews

Curated DSA Websites

  1. https://goodtecher.com/
  2. https://github.com/iverson52000/DataStructure_Algorithm
  3. https://github.com/jiselectric/Algorithm
  4. https://github.com/kdn251/interviews/tree/master/leetcode
  5. https://github.com/xizhengszhang/Leetcode_company_frequency/blob/master/Summary/leetcode%20Notes.pdf
  6. https://github.com/jwasham/code-catalog-python/blob/master/catalog/suggested/
  7. https://zhaonanli.gitbooks.io/leetcode/content
  8. https://techlarry.github.io/Leetcode/202.%20Happy%20Number/
  9. https://adit0503.gitbook.io/leetcode/200.-number-of-islands
  10. https://maxming0.github.io/
  11. https://linlaw0229.github.io/
  12. https://velog.io/@jiselectric/Leetcode-Powx-n
  13. https://mrleonhuang.gitbooks.io/lintcode/content
  14. https://leetcode.xnerv.wang/zigzag-conversion/
  15. https://leetcode.com/discuss/general-discussion/494279/comprehensive-data-structure-and-algorithm-study-guide
  16. https://somjang.tistory.com/entry/leetCode-729-My-Calendar-I-Python?category=351755
  17. https://quanticdev.com/algorithms/dynamic-programming/sliding-window/
  18. https://igotanoffer.com/blogs/tech/google-software-engineer-interview
  19. https://youtube.com/channel/UC_mYaQAE6-71rjSN6CeCA-g
  20. https://walkccc.me/LeetCode/problems/0009/
  21. https://czxttkl.com/category/leetcode/
  22. https://hercy.me/

75 Curated Questions

  1. https://seanprashad.com/leetcode-patterns/
  2. https://docs.google.com/spreadsheets/d/1A2PaQKcdwO_lwxz9bAnxXnIQayCouZP6d-ENrBz_NXc/edit#gid=0
  3. https://leetcode.com/list/xi4ci4ig/
  4. https://leetcode.com/discuss/interview-question?currentPage=1&orderBy=hot&query
  5. https://bit.ly/3ncS4wf

System Design

  1. https://afteracademy.com/tech-interview/system-design/top-questions
  2. https://github.com/shashank88/system_design
  3. https://thinksoftware.medium.com/how-to-ace-object-oriented-design-interviews-4f9a667e0780
  4. https://www.thinksoftwarelearning.com/courses/SystemDesignBible
  5. https://github.com/donnemartin/system-design-primer
  6. https://www.youtube.com/watch?v=seeiGC2HP48&list=PL_esswHjNwIeiFfVFer8uYly3Zk6YqXd0
  7. https://www.youtube.com/watch?v=MZwctuH8OjE&list=UU-nf8kVIeRMAzW3SRMzJ8-g&index=18
  8. https://iq.opengenus.org/microsoft-teams-system-design/
  9. https://iq.opengenus.org/memcached-in-system-design/
  10. LLD - https://github.com/tssovi/grokking-the-object-oriented-design-interview/blob/master/object-oriented-design-case-studies/design-a-car-rental-system.md
  11. https://www.enjoyalgorithms.com/blog

System Desgn Others

  1. https://systeminterview.com/design-youtube.php

Groupings

  1. 2D
    DFS - [79, 130, 200, 695]
    DP - [62, 63, 64, 221, 1594]
  2. BINARY SEARCH
    [33, 34, 69, 74, 153, 162, 374]
  3. TREES
    BFS - [102, 103, 107, 199, 513, 515, 1161]
  4. STACK
    [20, 155, 232, 225, 316, 678, 739, 844]
  5. DESIGN
    [146, 359, 380, 384, 621, 933]

Books

  1. Elements of Programming interviews in python adnan aziz
  2. Daily Coding Link: Get Exceptionally Good at Coding by Alex Miller and Lawrence Wu
  3. https://high-python-ext-3-algorithms.readthedocs.io/ko/latest/

Courses

  1. Graphs
  2. 10 Frequest asked questions
  3. Top Coding question

Sites

  1. Structy
  2. AlgoExpert

YOUTUBE Channels

  1. Inside Code
  2. Neetcode
  3. Alvin the programmer

Others

  1. https://www.lewuathe.com/radix-sort-in-python.html
  2. https://stackabuse.com/radix-sort-in-python/
  3. https://www.geeksforgeeks.org/python-program-for-radix-sort/
  4. https://bit.ly/3nfLrtg
  5. https://www.educative.io/blog/crack-amazon-coding-interview-questions
  6. https://baihuqian.github.io/2018-09-08-nth-digit/
  7. https://github.com/yangshun/tech-interview-handbook/blob/master/experimental/design/README.md
  8. https://serhatgiydiren.github.io/

FAANG Questions

  1. https://github.com/ombharatiya/FAANG-Coding-Interview-Questions

Leetcode Discuss - Explanatory Contributions

  1. https://leetcode.com/Hieroglyphs/
  2. https://leetcode.com/discuss/study-guide/1688903/solved-all-two-pointers-problems-in-100-days