awesome-dsa
A ๐ฟ๐ผ๐ฎ๐ฑ๐บ๐ฎ๐ฝ for data structures and algorithms with comprehensive tutorials & practice resources.
https://github.com/otabek-kholmirzaev/awesome-dsa
Last synced: 4 days ago
JSON representation
-
โ Data Structures
-
๐ฏ Time & Space Complexity
- Introduction to Big O Notation and Time Complexity - by CS Dojo
- Big-O Notation For Coding Interviews - by NeetCode
- Time and Space Complexity - by take U forward
- Big-O Notation For Coding Interviews - by NeetCode
- Time and Space Complexity - by take U forward
- Big-O Notation For Coding Interviews - by NeetCode
- Time and Space Complexity - by take U forward
-
๐ฏ Arrays
- An Overview of Arrays and Memory - by CS Dojo
- Arrays Intro - by take U forward
- Arrays Intro - by take U forward
- Two Sum - [Solution](https://youtu.be/KLlXCFG5TnA)
- Concatenation of Array - [Solution](https://youtu.be/68isPRHgcFQ)
- Replace Elements with Greatest Element on Right Side - [Solution](https://youtu.be/ZHjKhUjcsaU)
- Is Subsequence - [Solution](https://youtu.be/99RVfqklbCE)
- Length of Last Word - [Solution](https://youtu.be/KT9rltZTybQ)
- Longest Common Prefix - [Solution](https://youtu.be/0sWShKIJoo4)
- Pascal's Triangle - [Solution](https://youtu.be/nPVEaB3AjUM)
- Find All Numbers Disappeared in an Array - [Solution](https://youtu.be/8i-f24YFWC4)
- An Overview of Arrays and Memory - by CS Dojo
- Number of Good Pairs - [Solution](https://youtu.be/BqhDFUo1rjs)
- An Overview of Arrays and Memory - by CS Dojo
- Arrays Intro - by take U forward
- Two Sum - [Solution](https://youtu.be/KLlXCFG5TnA)
- Concatenation of Array - [Solution](https://youtu.be/68isPRHgcFQ)
- Replace Elements with Greatest Element on Right Side - [Solution](https://youtu.be/ZHjKhUjcsaU)
- Is Subsequence - [Solution](https://youtu.be/99RVfqklbCE)
- Length of Last Word - [Solution](https://youtu.be/KT9rltZTybQ)
- Longest Common Prefix - [Solution](https://youtu.be/0sWShKIJoo4)
- Pascal's Triangle - [Solution](https://youtu.be/nPVEaB3AjUM)
- Find All Numbers Disappeared in an Array - [Solution](https://youtu.be/8i-f24YFWC4)
- Number of Good Pairs - [Solution](https://youtu.be/BqhDFUo1rjs)
-
๐ฏ Linked Lists
- Introduction to Linked Lists - by CS Dojo
- Intersection of Two Linked Lists - [Solution](https://youtu.be/D0X0BONOQhI)
- Introduction to Linked Lists - by CS Dojo
- Linked List Playlist - by take U forward
- Design Linked List - [Solution](https://youtu.be/Wf4QhpdVFQo)
- Reverse Linked List - [Solution](https://youtu.be/G0_I-ZF0S38)
- Merge Two Sorted Lists - [Solution](https://youtu.be/XIdigk956u0)
- Linked List Cycle - [Solution](https://youtu.be/gBTe7lFR3vc)
- Palindrome Linked List - [Solution](https://youtu.be/yOzXms1J6Nk)
- Remove Duplicates from Sorted List - [Solution](https://youtu.be/p10f-VpO4nE)
- Middle of the Linked List - [Solution](https://youtu.be/A2_ldqM4QcY)
- Introduction to Linked Lists - by CS Dojo
- Linked List Playlist - by take U forward
- Design Linked List - [Solution](https://youtu.be/Wf4QhpdVFQo)
- Reverse Linked List - [Solution](https://youtu.be/G0_I-ZF0S38)
- Merge Two Sorted Lists - [Solution](https://youtu.be/XIdigk956u0)
- Linked List Cycle - [Solution](https://youtu.be/gBTe7lFR3vc)
- Palindrome Linked List - [Solution](https://youtu.be/yOzXms1J6Nk)
- Remove Linked List Elements - [Solution](https://youtu.be/JI71sxtHTng)
- Intersection of Two Linked Lists - [Solution](https://youtu.be/D0X0BONOQhI)
-
๐ฏ Hash Tables
- Introduction to Hash Tables and Dictionaries - by CS Dojo
- Hash Tables: Hash Functions, Sets, & Maps - by Greg Hogg
- Hash Map Tutorial - by take U forward
- Introduction to Hash Tables and Dictionaries - by CS Dojo
- Hash Tables: Hash Functions, Sets, & Maps - by Greg Hogg
- Hash Map Tutorial - by take U forward
- Design HashMap - [Solution](https://youtu.be/cNWsgbKwwoU)
- Introduction to Hash Tables and Dictionaries - by CS Dojo
- Hash Tables: Hash Functions, Sets, & Maps - by Greg Hogg
- Hash Map Tutorial - by take U forward
- Design HashMap - [Solution](https://youtu.be/cNWsgbKwwoU)
- Design HashSet - [Solution](https://youtu.be/VymjPQUXjL8)
- Design HashSet - [Solution](https://youtu.be/VymjPQUXjL8)
-
๐ฏ Graphs
- Graph Theory Tutorial from a Google Engineer
- Graph Algorithms for Technical Interviews
- Graph Algorithms for Technical Interviews
- Graph Theory Tutorial from a Google Engineer
- Graph Series Playlist - by take U forward
- Graph Series Playlist - by take U forward
- Graph Theory Tutorial from a Google Engineer
- Graph Algorithms for Technical Interviews
-
๐ฏ Trees
- Introduction to Trees - by CS Dojo
- Binary Tree Algorithms for Technical Interviews
- Trees Playlist - by take U forward
- Introduction to Trees - by CS Dojo
- Binary Tree Algorithms for Technical Interviews
- Trees Playlist - by take U forward
- Introduction to Trees - by CS Dojo
- Binary Tree Algorithms for Technical Interviews
-
๐ฏ Stacks & Queues
- Introduction to Stacks and Queues - by CS Dojo
- Introduction to Stacks and Queues - by CS Dojo
- Stack and Queue Playlist - by take U forward
- Baseball Game - [Solution](https://youtu.be/Id_tqGdsZQI)
- Valid Parentheses - [Solution](https://youtu.be/WTzjTskDFMg)
- Implement Stack using Queues - [Solution](https://youtu.be/rW4vm0-DLYc)
- Implement Queue using Stacks - [Solution](https://youtu.be/eanwa3ht3YQ)
- Make The String Great - [Solution](https://youtu.be/10tBWNjzvtw)
- Min Stack - [Solution](https://youtu.be/qkLl7nAwDPo)
- Evaluate Reverse Polish Notation - [Solution](https://youtu.be/iu0082c4HDE)
- Removing Stars From a String - [Solution](https://youtu.be/pRyFZIaKegA)
- Design Circular Queue - [Solution](https://youtu.be/aBbsfn863oA)
- Introduction to Stacks and Queues - by CS Dojo
- Stack and Queue Playlist - by take U forward
- Baseball Game - [Solution](https://youtu.be/Id_tqGdsZQI)
- Valid Parentheses - [Solution](https://youtu.be/WTzjTskDFMg)
- Implement Stack using Queues - [Solution](https://youtu.be/rW4vm0-DLYc)
- Implement Queue using Stacks - [Solution](https://youtu.be/eanwa3ht3YQ)
- Make The String Great - [Solution](https://youtu.be/10tBWNjzvtw)
- Min Stack - [Solution](https://youtu.be/qkLl7nAwDPo)
- Evaluate Reverse Polish Notation - [Solution](https://youtu.be/iu0082c4HDE)
- Removing Stars From a String - [Solution](https://youtu.be/pRyFZIaKegA)
- Design Circular Queue - [Solution](https://youtu.be/aBbsfn863oA)
-
๐ฏ Trie
- Tries - by Gayle Laakmann
- Tries - by Gayle Laakmann
- Trie Series Playlist - by take U forward
- TRIE in Coding Interviews - by Errichto
- Implement Trie - [Solution](https://youtu.be/oobqoCJlHA0)
- Tries - by Gayle Laakmann
- Trie Series Playlist - by take U forward
- TRIE in Coding Interviews - by Errichto
- Implement Trie - [Solution](https://youtu.be/oobqoCJlHA0)
-
๐ฏ Segment Tree
- Segment Tree Tutorial - by take U forward
- Lazy Propagation in Segment Tree - by take U forward
- Segment Tree Tutorial - by take U forward
- Segment Tree Tutorial - by take U forward
- Lazy Propagation in Segment Tree - by take U forward
- Range Sum Query - Mutable - [Solution](https://youtu.be/G9GRvQRtGOc)
- Segment Tree (Implementation) - by Errichto
- Range Sum Query - Mutable - [Solution](https://youtu.be/G9GRvQRtGOc)
-
๐ฏ Heap
- Heap Tutorial - by Abdul Bari
- Heap Tutorial - by Abdul Bari
- HEAP Playlist - by Techdose
- Heap Tutorial - by Abdul Bari
- HEAP Playlist - by Techdose
- Kth Largest Element in a Stream - [Solution](https://youtu.be/hOjcdrqMoQ8)
- Kth Largest Element in a Stream - [Solution](https://youtu.be/hOjcdrqMoQ8)
-
-
โ Algorithms
-
๐ฏ Sorting Algorithms
- Merge Sort
- Quick Sort
- Heap Sort
- Counting Sort
- Bubble Sort
- Selection Sort
- Insertion Sort
- Radix Sort
- Bucket Sort
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Counting Sort
- Radix Sort
- Bucket Sort
- Bubble Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Counting Sort
- Radix Sort
- Bucket Sort
-
๐ฏ Tree Algorithms
- Diameter of a Tree
- Tree Serialization & Deserialization
- Binary Search Tree (BST) Operations (Insert, Delete, Search)
- AVL Tree (Self-balancing BST)
- Binary Tree Traversals (Inorder, Preorder, Postorder)
- Lowest Common Ancestor (LCA)
- Binary Tree Traversals (Inorder, Preorder, Postorder)
- Lowest Common Ancestor (LCA)
- Diameter of a Tree
- Tree Serialization & Deserialization
- Binary Search Tree (BST) Operations (Insert, Delete, Search)
- AVL Tree (Self-balancing BST)
-
๐ฏ Algorithmic Paradigms
-
๐ฏ Searching Algorithms
-
๐ฏ Recursion & Backtracking
- Introduction to Recursion - by CS Dojo
- Introduction to Backtracking - by Abdul Bari
- Recursive Backtracking - by Greg Hogg
- Recursion & Backtracking Playlist - by take U forward
- Introduction to Recursion - by CS Dojo
- Introduction to Backtracking - by Abdul Bari
- Recursive Backtracking - by Greg Hogg
- Introduction to Recursion - by CS Dojo
- Recursive Backtracking - by Greg Hogg
- Recursion & Backtracking Playlist - by take U forward
-
๐ฏ Divide and Conquer
-
๐ฏ Dynamic Programming (DP)
-
๐ฏ Graph Algorithms
- BFS & DFS
- BFS (Breadth-First Search)
- DFS (Depth-First Search)
- Dijkstraโs Algorithm
- Bellman-Ford Algorithm
- Floyd-Warshall Algorithm
- Topological Sorting (Kahnโs Algorithm, DFS)
- Strongly Connected Components (Kosaraju, Tarjan)
- Kruskalโs Algorithm (MST)
- Primโs Algorithm (MST)
- BFS & DFS
- BFS (Breadth-First Search)
- DFS (Depth-First Search)
- Dijkstraโs Algorithm
- Bellman-Ford Algorithm
- Floyd-Warshall Algorithm
- Topological Sorting (Kahnโs Algorithm, DFS)
- Strongly Connected Components (Kosaraju, Tarjan)
- Kruskalโs Algorithm (MST)
- Primโs Algorithm (MST)
-
๐ฏ Bit Manipulation
-
๐ฏ String Algorithms
- KMP Algorithm (Pattern Matching)
- Rabin-Karp Algorithm (String Hashing)
- Z-Algorithm (Substring Search)
- Longest Palindromic Substring (Manacherโs Algorithm)
- Longest Palindromic Substring (Manacherโs Algorithm)
- Suffix Array & LCP Array
- KMP Algorithm (Pattern Matching)
- Rabin-Karp Algorithm (String Hashing)
- Z-Algorithm (Substring Search)
-
Categories
Sub Categories
๐ฏ Sorting Algorithms
26
๐ฏ Arrays
24
๐ฏ Stacks & Queues
23
๐ฏ Linked Lists
20
๐ฏ Graph Algorithms
20
๐ฏ Hash Tables
13
๐ฏ Divide and Conquer
12
๐ฏ Tree Algorithms
12
๐ฏ Recursion & Backtracking
10
๐ฏ Algorithmic Paradigms
10
๐ฏ String Algorithms
9
๐ฏ Trie
9
๐ฏ Searching Algorithms
8
๐ฏ Segment Tree
8
๐ฏ Graphs
8
๐ฏ Trees
8
๐ฏ Time & Space Complexity
7
๐ฏ Heap
7
๐ฏ Bit Manipulation
5
๐ฏ Dynamic Programming (DP)
1