Skip to content

A collection of best resources to learn Data Structures and Algorithms like array, linked list, binary tree, stack, queue, graph, heap, searching and sorting algorithms like quicksort and merge sort for coding Interviews

License

Notifications You must be signed in to change notification settings

javabuddy/best-data-structures-algorithms-resources

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Best Data Structures, Algorithms and Coding Interview Resources

A collection of best resources to learn Data Structures and Algorithms like array, linked list, binary tree, stack, queue, graph, heap, searching and sorting algorithms like quicksort and merge sort for coding Interviews

Best Data Structures and Algorithms Courses

  1. Data Structures Deep Dive Using Java - https://bit.ly/3QH8Y2R
  2. DSA by Andrei Negaoie - https://bit.ly/3JOjH8v
  3. Coding Patterns on AlgoMonster - http://shrsl.com/483tt
  4. Data Structures - Part 1 and 2 - https://bit.ly/3w5uDtU
  5. Algorithms and Data Structures in Python - https://bit.ly/3JRhqKK
  6. CodeCademy - https://bit.ly/codecademyhome
  7. Data Structure for interviews - http://bit.ly/data-structures-algorithms-coding-interview
  8. Data Structures for Coding Interviews in Java [Educative] - https://bit.ly/3GVhWo3
  9. Master the Coding Interview: Data Structures + Algorithms [ZTM] - https://bit.ly/3JOjH8v
  10. Learn Complex Data Structures [Codecademy] - https://bit.ly/34DT2MJ

Free Data Structure courses

  1. Data Structure - Part I - https://bit.ly/3l4VxMj
  2. Algorithms Part 1 - https://bit.ly/3P45Gqi
  3. Visual Intro to Algorithms - https://bit.ly/3NcwIKx
  4. Graph Theory Algorithms - http://bit.ly/2NAbaIR
  5. more - https://bit.ly/3w2YQJY

Best Data Structures and Algorithms Books

Best Websites to Practice Data Structures and Algorithms

  1. Udemy - https://bit.ly/3QH8Y2R
  2. ZTM Academy - https://bit.ly/3JOjH8v
  3. Educative - https://bit.ly/3JOjH8v
  4. CodeCademy - https://bit.ly/codecademyhome
  5. DesignGurus.io - https://bit.ly/4cOygYF
  6. AlgoMonster - http://shrsl.com/483tt
  7. LeetCode - https://leetcode.com/
  8. Coursera - https://bit.ly/3BxMXzr
  9. Blind 75: https://lnkd.in/g5wx7QSq
  10. Grind 75: https://lnkd.in/gvZ7_pnp - I focused on this
  11. Practice C++ STL or Java Collections or data structure libraries in the language of your choice its essential for fast coding

Best Data Structure and Algorithms Interview Questions and Coding Problems

A comprehensive list of Data Structure and algorithms interview questions categorized by topic. These questions are asked multiple times on core Java interview to many developers, both junior developers with 1 to 2 years of experienced, intermediate developers of 3 to 5 years of experience and senior developers with 5 to 10 yeras of experience.

String

Array

Linked List

Recursion

hash table

Coding Problems

Miscelleneous

Coding Interview Patterns

Here's a list of 30 coding interview patterns, each with one or two example LeetCode problems:

1. Sliding Window

  • Problem 1: Minimum Size Subarray Sum
  • Problem 2: Longest Substring Without Repeating Characters

2. Two Pointers

  • Problem 1: 3Sum
  • Problem 2: Container With Most Water

3. Fast and Slow Pointers

  • Problem 1: Linked List Cycle
  • Problem 2: Middle of the Linked List

4. Merge Intervals

  • Problem 1: Merge Intervals
  • Problem 2: Insert Interval

5. Cyclic Sort

  • Problem 1: Find All Numbers Disappeared in an Array
  • Problem 2: Find the Duplicate Number

6. In-place Reversal of Linked List

  • Problem 1: Reverse Linked List
  • Problem 2: Reverse Nodes in k-Group

7. Tree BFS

  • Problem 1: Binary Tree Level Order Traversal
  • Problem 2: Binary Tree Zigzag Level Order Traversal

8. Tree DFS

  • Problem 1: Binary Tree Maximum Path Sum
  • Problem 2: Path Sum

9. Topological Sort

  • Problem 1: Course Schedule
  • Problem 2: Alien Dictionary

10. Binary Search

  • Problem 1: Search in Rotated Sorted Array
  • Problem 2: Find Minimum in Rotated Sorted Array

11. DFS with Backtracking

  • Problem 1: Word Search
  • Problem 2: Combination Sum

12. BFS with Queue

  • Problem 1: Shortest Path in Binary Matrix
  • Problem 2: Word Ladder

13. Union Find

  • Problem 1: Number of Connected Components in an Undirected Graph
  • Problem 2: Friend Circles

14. Dynamic Programming (1D)

  • Problem 1: House Robber
  • Problem 2: Climbing Stairs

15. Dynamic Programming (2D)

  • Problem 1: Longest Common Subsequence
  • Problem 2: Unique Paths

16. Greedy Algorithms

  • Problem 1: Jump Game
  • Problem 2: Partition Labels

17. Kadane's Algorithm

  • Problem 1: Maximum Subarray
  • Problem 2: Maximum Product Subarray

18. Matrix Manipulation

  • Problem 1: Spiral Matrix
  • Problem 2: Rotate Image

19. Bit Manipulation

  • Problem 1: Single Number
  • Problem 2: Counting Bits

20. Trie

  • Problem 1: Implement Trie (Prefix Tree)
  • Problem 2: Word Search II

21. Heap / Priority Queue

  • Problem 1: Merge k Sorted Lists
  • Problem 2: Top K Frequent Elements

22. Monotonic Stack

  • Problem 1: Daily Temperatures
  • Problem 2: Largest Rectangle in Histogram

23. Reservoir Sampling

  • Problem 1: Linked List Random Node
  • Problem 2: Random Pick Index

24. Floyd-Warshall Algorithm

  • Problem 1: Network Delay Time
  • Problem 2: Find the City With the Smallest Number of Neighbors at a Threshold Distance

25. Knapsack (0/1)

  • Problem 1: Partition Equal Subset Sum
  • Problem 2: Last Stone Weight II

26. Dijkstra's Algorithm

  • Problem 1: Path With Minimum Effort
  • Problem 2: Cheapest Flights Within K Stops

27. Bellman-Ford Algorithm

  • Problem 1: Network Delay Time
  • Problem 2: Cheapest Flights Within K Stops

28. Zigzag Traversal

  • Problem 1: Binary Tree Zigzag Level Order Traversal
  • Problem 2: Diagonal Traverse

29. Longest Increasing Subsequence

  • Problem 1: Longest Increasing Subsequence
  • Problem 2: Russian Doll Envelopes

30. Top K Elements

  • Problem 1: Kth Largest Element in an Array
  • Problem 2: Top K Frequent Elements

These patterns and problems will help you identify and solve common coding interview challenges.

Fi01k0IWYAAcVFh

Dynamic Programming Patterns

  1. Fibonacci Sequence
  2. Kadane's Algorithm
  3. 0/1 Knapsack
  4. Unbounded Knapsack
  5. Longest Common Subsequence (LCS)
  6. Longest Increasing Subsequence (LIS)
  7. Palindromic Subsequence
  8. Edit Distance
  9. Subset Sum
  10. String Partition
  11. Catalan Numbers
  12. Matrix Chain Multiplication
  13. Count Distinct Ways
  14. DP on Grids
  15. DP on Trees
  16. DP on Graphs
  17. Digit DP
  18. Bitmasking DP
  19. Probability DP
  20. State Machine DP

Data Structure and Algorithms Cheat Sheets

1707477513900

Here is another DSA cheat sheet for time and space complxity of popular data structures and algorithms

0728f0e-1

And here is one for Java developers

About

A collection of best resources to learn Data Structures and Algorithms like array, linked list, binary tree, stack, queue, graph, heap, searching and sorting algorithms like quicksort and merge sort for coding Interviews

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published