This repo contains around 700 (600 Leetcode.com and 100 Algoexpert.io) problems in total, with solutions using Swift and Python
This repo contains my solutions to algorithmic problems in leetcode.com and algoexpert.io written in Swift and Python.
Show your support by giving it a STAR
About • Topics • Tips • LeetCode.com • AlgoExpert.io • References
About
I have solved quite a number of problems from several topics. See the below table for further details.
Topics
- Binary Search
- Binary Search Tree
- Binary Tree(Segment Tree)
- N-aray Tree(Trie, Binary Indexed Tree)
- Graph(Dijkstra, Union Find, Kruskal, Prim's, Minimum Spanning Tree, Topological Ordering...etc)
- Stack
- Queue
- Array
- Sorting
- Hash Table
- Heap
- Linked list
- Bit Operation
- Dynamic programming
- Backtracking(Permutations & Combinations & Subsets...etc)
- Math
- and more...
Questions from
My other related repos
- Coding Interview Patterns
- Coding Interview Gym
- iOS Interview Gym
- Behavioural Interview Gym
- System Design Interview Gym
- Object Oriented Design Interview Gym
My leetcode account
Tips
- Check this Golden post first.
- Whenever you solve a new question with some new techniques/algorithms, try to solve atleast 2 similar problem in a row. This way, your understanding to the new techniques/algorithms will be better.
- Solve all leetcode cards
LeetCode
Arrays , HashMap, Set
1.Leetcode problems with solutions and tutorials/videos
String
2.Leetcode problems with solutions and tutorials/videos
Linked List
3.Leetcode problems with solutions and tutorials/videos
Stack, Queue
4.Leetcode problems with solutions and tutorials/videos
Heaps
5.Leetcode problems with solutions and tutorials/videos
Binary Search
6.Leetcode problems with solutions and tutorials/videos
Binary Tree
7.Leetcode problems with solutions and tutorials/videos
Check this [golden](https://tinyurl.com/ujopecz) post.
Binary Search Tree
8.Leetcode problems with solutions and tutorials/videos
N-Ary Tree
9.Leetcode problems with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | 589. N-ary Tree Preorder Traversal | Python | |||
02 | 590. N-ary Tree Postorder Traversal | Python | |||
03 | 429. N-ary Tree Level Order Traversal | Python | |||
04 | 559. Maximum Depth of N-ary Tree | Python | |||
05 | 431. Encode N-ary Tree to Binary Tree | Python | Explanation | ||
06 | 428. Serialize and Deserialize N-ary Tree | Python | Art 1, Official | Hard | Very important |
10. Tree
Leetcode problems with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | 315. Count of Smaller Numbers After Self | Python | Article 1, Article 2, Vid 1, Vid 2 | Hard (Very) |
Tries
11.Leetcode problems with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | 208. Implement Trie (Prefix Tree) | Python | |||
02 | 211. Add and Search Word. Data structure design | Python | Video 01, Video 02 | ||
03 | 642. Design Search Autocomplete System | Python | Article 01, Video 01 | Hard | --- |
04 | 472. Concatenated Words | Python | Art 01, Art 02 | Hard | Very important |
05 | 588. Design In-Memory File System | Python | --- | Hard | --- |
06 | 212. Word Search II | Python, Swift | Art 1 | Hard | --- |
07 | 1233. Remove Sub-Folders from the Filesystem | Python, Swift | Art 1 | Medium | Didn't think of it as a trie. Good problem |
12. Graphs
BFS, DFS, Dijkstra, Floyd–Warshall, Bellman-Ford, Kruskal, Prim's, Minimum Spanning Tree, Topological Ordering, Union Find.
Follow this golden rule to approach any graph problem.
Leetcode problems with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | 207. Course Schedule | Python | educative.io | Medium | |
02 | 210. Course Schedule II | Python | educative.io | Medium | |
03 | 269. Alien Dictionary | Python, Swift | educative.io, Vid 1, Vid 2, Vid 3 | Hard | |
04 | 444. Sequence Reconstruction | Python | educative.io | Medium/Hard | |
05 | 310. Minimum Height Trees | Python | educative.io | Hard | |
06 | 329. Longest Increasing Path in a Matrix | Python | Official, Art 1, Art 2 | Hard | ** |
07 | 1203. Sort Items by Groups Respecting Dependencies | Python | Hard | ||
08 | 695. Max Area of Island | Python | --- | Medium | DFS |
09 | 200. Number of Islands | Python | Algoexpert.io - DFS, Union Find, Art 1 | Medium | DFS + DFS, Union Find |
10 | 305. Number of Islands II | Python | Union Find, Art 0, Art 1, Art 2, Art 3, Art 4, Art 5 | Hard | Union Find |
11 | 399. Evaluate Division | Python | Art 0, Art 1, Art 2, Art 3, Art 4, Art 5 | Medium | TODO: Solve it using Union Find |
12 | 841. Keys and Rooms | Python | codinginterviewclass.com, Art 1, Art 2 | Medium | BFS, DFS |
13 | 490. The Maze | Python | codinginterviewclass.com, Vid 1, Art 1, Art 2, Art 3, Art 4, Art 5 | Medium | Modified BFS and DFS |
14 | 130. Surrounded Regions | Python | codinginterviewclass.com, Art 1, Art 2 | Medium | TODO: Solve it using Union Find. Modified BFS and DFS |
15 | 127. Word Ladder | Python | backtobackswe.com, Official, Art 1 | Medium | Very important and tricky. Modified BFS. Shortest Path finding |
16 | 126. Word Ladder II | Python | backtobackswe.com, Official, Vid 1, Vid 2, Art 1 - Must | Hard | TODO: Not Done. Extremely tricky. Modified BFS. Learned Bidirectional Search |
17 | 785. Is Graph Bipartite? | Python, Swift | backtobackswe.com, Official | Medium | Important, Learned new things. Undirected Graph |
18 | 133. Clone Graph | Python, Swift | backtobackswe.com, Official | Medium | Important, Learned new things. Undirected Graph |
19 | 332. Reconstruct Itinerary | Python | Vid 1, Vid 2, Art 1, Art 2, Art 3, Art 4 | Medium | Important, Learned new things. Directed Graph. Eulerian path and top Sort |
20 | 1153. String Transforms Into Another String | Python | Vid 1, Vid 2, Art 1, Art 2, Art 3, Art 4, Art 5, Art 6 | Extremely Hard | TODO: Check again. Very Important and tricky, Learned new things. Digraph. |
21 | 743. Network Delay Time | Python | Official, Dijkstra 1, Dijkstra 2, Vid 1, Art 1, Art 2, Art 3, Art 4 | Medium | TODO: Check again. Very Important. Learned (Dijkstra, Bellman, Floyed). Check references section |
22 | 261. Graph Valid Tree | Python | Art 1, Art 2, Art 3, Art 4 | Medium | Important. BFS, DFS and Union Find |
23 | 1168. Optimize Water Distribution in a Village | Python | Art 1, Art 2, Art 3, Art 4 | Hard | TODO: Check AGain. Prim's and Kruskal's algorithm. Important. |
24 | 1197. Minimum Knight Moves | Python | Art 1 | Medium | TODO: Check AGain. Important. |
25 | 1066. Campus Bikes II | Python | Vid 1, Art 1 | Medium | |
26 | 752. Open the Lock | Python | Art 1, Art 2 | Medium | |
27 | 489. Robot Room Cleaner | Python, Swift | Vid 1, Vid 2, Art 1 | Hard | |
28 | 1136. Parallel Courses | Python, Swift | --- | Hard | |
29 | 947. Most Stones Removed with Same Row or Column | Python, Swift | Vid 1, Art 1, Vid 2, Art 2, Art 3 | Medium | |
30 | 1042. Flower Planting With No Adjacent | Python, Swift | --- | Easy | |
31 | 994_Rotting_Oranges | Python, Swift | --- | Medium | |
32 | 909. Snakes and Ladders | Python, Swift | Art 1, Art 2, Art 3, Vid 1, Vid 2, | Medium | |
33 | 1192. Critical Connections in a Network | Python, Swift | Art 1, Art 2, Art 3, Art 4, Vid 1, Vid 2, Vid 3 | Hard | |
34 | 694. Number of Distinct Islands | Python, Swift | Art 1, Art 2 | Medium | |
35 | 997. Find the Town Judge | Python, Swift | --- | Easy | |
36 | 733. Flood Fill | Python, Swift | --- | Easy | |
37 | 339. Nested List Weight Sum | Python, Swift | --- | Easy | |
38 | 1026. Maximum Difference Between Node and Ancestor | Python, Swift | --- | Medium | |
39 | 721. Accounts Merge | Python, Swift | --- | Medium | |
40 | 1123. Lowest Common Ancestor of Deepest Leaves | Python, Swift | --- | Medium | |
41 | 419. Battleships in a Board | Python, Swift | --- | Medium | |
42 | 934. Shortest Bridge | Python, Swift | Art 1 | Medium | |
43 | 317. Shortest Distance from All Buildings | Python, Swift | Art 1 | Hard | |
44 | 93. Restore IP Addresses | Python, Swift | --- | Medium | |
45 | 1424. Diagonal Traverse II | Python, Swift | --- | Medium | |
46 | 364_Nested_List_Weight_Sum_II | Python, Swift | --- | Medium | |
47 | 1245. Tree Diameter | Python, Swift | Art 1 | Medium | |
48 | 1376. Time Needed to Inform All Employees | Python, Swift | Art 1 | Medium | |
49 | 286. Walls and Gates | Python, Swift | --- | Medium | |
50 | 1138. Alphabet Board Path | Python, Swift | --- | Medium | |
51 | 690. Employee Importance | Python, Swift | --- | Easy | |
52 | 1631. Path With Minimum Effort | Python, Swift | --- | Medium | |
53 | 547. Friend Circles | Python, Swift | Art 1, Art 2 | Medium | |
53 | 1254. Number of Closed Islands | Swift | Art 1, Art 2 | Medium |
Recursion, Iteration
13.Leetcode problems with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | 509. Fibonacci Number | Python | |||
02 | 50. Pow(x, n) | Python | |||
00 | It's a general topics which has been covered on Backtracking and graph problems | --- | --- | --- | --- |
Backtracking
14.Leetcode problems with solutions and tutorials/videos
Greedy
15.Leetcode problems with solutions and tutorials/videos
Dynamic Programming
16.Follow this golden rule to approach any DP problem.
Leetcode problems with solutions and tutorials/videos
17. Bit Manipulation
Follow this golden rule to approach any DP problem.
Leetcode problems with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | 78. Subsets | Python | Video 1, Video 2, Video 3 | Medium | |
02 | 187. Repeated DNA Sequences | Python | Official | Medium | |
03 | 461. Hamming Distance | Python | --- | Easy | |
04 | 371. Sum of Two Integers | Python | Video 1, Atricle 1 | Easy | |
05 | 169. Majority Element | Python | Atricle 1 | Easy | |
06 | 191. Number of 1 Bits | Python | Article 1 | Easy | |
07 | 268. Missing Number | Python | Educative.io, Official | Easy | |
08 | 389. Find the Difference | Python | --- | Easy | |
09 | 231. Power of Two | Python | Official, Signed number representations | Easy | |
10 | 136. Single Number | Python | Educative.io | Easy | |
11 | 137. Single Number II | Python | 1, 2, 3, Check discussion | Medium | |
12 | 260. Single Number III | Python | Educative.io | Medium | |
13 | 476. Number Complement | Python | Educative.io | Easy | |
14 | 832. Flipping an Image | Python | Educative.io | Easy | |
15 | 67. Add Binary | Python, Swift | Official, Art 1, Art 2, Vid 1, Vid 2 | Easy (FUCK NO) |
Line Swap, Binary Indexed Tree, Segment Tree, Minimax, Math, AVL Tree, Red-Black Tree, Interval Tree etc)
18. Miscellaneous (Leetcode problems with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | 218. The Skyline Problem | Python, Swift | Vid 1, Vid 2, Vid 3, Vid 4, Art 1 | Hard | TODO: Not Done. Very important. |
02 | 375. Guess Number Higher or Lower II | Python, Swift | Art 0, Art 1, Art2 2, Art 3 | Hard | TODO: Not Done. Very important. Did't understand properly |
03 | 843. Guess the Word | Python | Art 1 | Hard | Minimax. TODO: Check again. Very important and interesting |
04 | 593. Valid Square | Python | Art 1, Art 2 | Medium | Math |
05 | 1272. Remove Interval | Python | Art 1 | Medium | Line Swap |
06 | 1288. Remove Covered Intervals | Python | Art 1 | Medium | Line Swap with Greedy. A must read solution. A gold mie, learned a lot |
07 | 1229. Meeting Scheduler | Python | Art 1 | Medium | Line Swap, learned a lot |
08 | 850. Rectangle Area II | Python | Art 1, Vid 1, Art 2 | Hard | Line Swap using heap and Segment Tree. TODO: Solve it using Segment Tree |
09 | 307. Range Sum Query - Mutable | Python | Vid 1, Art 1, Art 2 | Medium | Segment Tree Basics. Very Important |
10 | 327. Count of Range Sum | Python | Vid 1, Art 1, Art 2 | Hard | Segment Tree Basics. Very Important |
11 | 239. Sliding Window Maximum | Python | Video 1, Official, Art 1, Art 2, Art 3, Art 4 | Hard | |
12 | 398. Random Pick Index | Python | Video 1, Art 1, Art 2, Art 3, Art 4, Art 5 | Medium (Really!!??) | |
13 | 319. Bulb Switcher | Python | Art 1, Art 2, Art 3 | Medium (Really!!??) | Are you fucking kidding me!! We are programmers, not math wizard. |
14 | 1344. Angle Between Hands of a Clock | Python, Swift | --- | Medium | FB really likes to ask tricky question. |
15 | 1276. Number of Burgers with No Waste of Ingredients | Python, Swift | Art 1, Art 2, Art 3 | Medium | Pure math |
16 | 777. Swap Adjacent in LR String | Python, Swift | Art 1 | Medium | Brainteser |
AlgoExpert
100 Problems
1. Arrays
Problem statement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | Two_Number_Sum | Swift, Python | |||
02 | Three_Number_Sum | Python | |||
03 | Smallest_Difference | Python | |||
04 | Four_Number_Sum | Python | |||
05 | Subarray_Sort | Python | |||
06 | Largest_Range | Python | |||
07 | Min_Rewards | Python | |||
08 | Zigzag_Traverse | Python | |||
08 | Apartment_Hunting | Python | |||
09 | Calendar_Matching | Python | |||
10 | Spiral_Traverse | Python | |||
11 | Monotonic_Array | Python | |||
12 | Move_Element_To_End | Python | |||
13 | Longest_Peak | Python |
2. Binary Search Tree
Problem sstatement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | BST_Construction_Iterative | Python | |||
02 | BST_Construction_Recursive | Python | |||
03 | Validate_BST | Python | |||
04 | Find_Closest_Value_in_BST | Python | |||
05 | BST_Traversal | Python | |||
06 | Same_BSTs | Python |
3. Binary Tree
Problem sstatement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | Invert_Binary_Tree | Python | |||
02 | Max_Path_Sum_In_Binary_Tree | Python | |||
03 | Iterative_In-order_Traversal | Python | |||
04 | Right_Sibling_Tree | Python | |||
05 | Branch_Sums | Python | |||
06 | Flatten_Binary_Tree | Python |
4. Dynamic Programming
Problem statement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | Number_Of_Ways_To_Make_Changes | Python | |||
02 | Minimum_Number_Of_Coins_For_Change | Python | |||
03 | Levenshtein_Distance | Python | |||
04 | Min_Number_Of_Jumps | Python | Video 1 | ||
05 | Max_Sum_Increasing_Subsequence | Python | |||
06 | Longest_Common_Subsequence | Python | Video 1 | ||
07 | Water_Area | Python | |||
08 | Knapsack_Problem | Python | |||
09 | Disk_Stacking | Python | |||
10 | Numbers_In_Pi | Python | |||
11 | Maximum_Subset_Sum_With_No_Adjacent_Element | Python | |||
12 | Max_Profit_With_K_Transactions | Python | |||
13 | Palindrome_Partitioning_Min_Cuts | Python | |||
14 | Longest_Increasing_Subsequence | Python | Video 1, Video 2, , Video 3 | ||
15 | Longest_String_Chain | Python | --- |
5. Famous Algorithm
Problem statement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | Kadane's_Algorithm | Python | |||
02 | Topological_Sort | Python | |||
03 | KMP_Algorithm | Python |
6. Graphs
Problem sstatement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | Youngest_Common_Ancestor | Python | |||
02 | Single_Cycle_Check | Python | |||
03 | River_Sizes | Python | |||
04 | Depth_First_Search | Python | |||
05 | Breadth_First_Search | Python | |||
06 | Boggle_Board | Python | |||
07 | Rectangle_Mania | Python | |||
07 | Airport_Connections | Python |
7. Heaps
Problem sstatement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | Min_Heap_Construction | Python | Video 1 | ||
02 | Continuous_Median | Python | Video 1, Video 2 |
8. Linked List
Problem sstatement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | Remove_Kth_Node_From_End | Python | |||
02 | Linked_List_Construction | Python | |||
03 | Find_Loop | Python | |||
04 | Reverse_Linked_List | Python | |||
05 | LRU_Cache | Python | |||
06 | Merge_Linked_List | Python |
9. Recursion
Problem sstatement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | Powerset | Python | |||
02 | Permutations | Python | |||
03 | Nth_Fibonacci | Python | |||
04 | Product_Sum | Python | |||
05 | Lowest_Common_Manager | Python | |||
06 | Number_Of_Possible_Binary_Tree_Topologies | Python | |||
07 | Interweaving_Strings | Python | |||
08 | Number_Of_Binary_Tree_Topologies | Python |
10. Searching
Problem sstatement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | Search_In_Sorted_Matrix | Python | |||
02 | Find_Three_Largest_Number | Python | |||
03 | Binary_Search | Python | |||
04 | Shifted_Binary_Search | Python | |||
05 | Search_For_Range | Python | |||
06 | Quick_Select (Kth smallest/largest element) | Python |
11. Sorting
Problem sstatement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | Selection_Sort | Python | |||
02 | Insertion_Sort | Python | |||
03 | Bubble_Sort | Python | |||
04 | Quick_Sort | Python | Video 1 | ||
05 | Heap_Sort | Python | |||
06 | Merge_Sort | Python |
12. Stacks
Problem sstatement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | Balanced Bracket | Python | |||
02 | Min_Max_Stack_Construction | Python |
13. String
Problem statement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | Palindrom_Check | Python | |||
02 | Longest_Palindromic_Substring | Python | |||
03 | Caesar_Cipher_Encryptor | Python | |||
04 | Longest_Substring_Without_Duplication | Python | |||
05 | Underscorify_Substring | Python | --- | Hard | TODO: Check again. Difficult to analyse the space ad time complexity |
06 | Pattern_Matcher | Python | |||
07 | Smallest_Substring_Containing | Python | |||
08 | Group_Anagrams | Python |
14. Tries
Problem sstatement from AlgoExpert.io with solutions and tutorials/videos
# | Title | Solution | Tutorial | Level | Remarks |
---|---|---|---|---|---|
01 | Suffix_Trie_Construction | Python | |||
02 | Multi_String_Search | Python |
References
Some helpful links, channels, tutorials, blogs.
1. Strategies
Check this Golden posts first.
- How a Googler solves coding problems
- Nail Every Coding Interview by Becoming Asymmetrical
- How to get into FAANG
- Preparing for Programming interview with Python
- The 30-minute guide to rocking your next coding interview
- Google Interview Part-1 , Google Interview Part-2, Google Interview Part-3, Final Part
- Amazon ও Google এ চাকরির সুযোগ পাওয়ার প্রস্তুতি পর্ব
- How to use LeetCode effectively
- How to solve ANY interview question
- How To Ace The Google Coding Interview - Complete Guide
- Software Engineering Interviews: The Golden Path To Passing
- A MUST READ
- 10 Steps to Solving a Programming Problem
- Preparing to Apply or Interview at Google - Youtue playlist
- Amazon ও Google এ চাকরির সুযোগ পাওয়ার প্রস্তুতি পর্ব
- Coding Interviews
- Tech Interview Handbook
- Complete Introduction to the 30 Most Essential Data Structures & Algorithms
- How to Solve Any Code Challenge or Algorithm
2. Courses/Books
3. Swift
4. Python
Learn the following modules by heart. Just knowing all of the following items will made most of the problem one-liners.
- itertools - Functions creating iterators for efficient looping - They will help you, more often than you think
- collections - High-performance container datatypes - Believe me, this is pretty awesome
- heapq - Heap queue algorithm - Obviously, we don't have to hand-code heaps anymore
- bisect - Array bisection algorithm - Binary Search, simplified
- Set
- Dict - Now on, hash Tables are fun to work with
- Sorting - Don't participate in competitions without reading this completely.
- Start using lambda extensively
- functools
- Apart from these, all the builtin methods of default containers.
- Understanding slice notation - you will need/use it more than you can imagine
- Magic Methods
5. Channels
6. Tree (Binary Tree, BST, AVL, Red-Black, B-Tree, B+ Tree, Segment Tree, Interval Tree, Range Tree, BIT, N-aray Tree, Trie etc)
Tree Basics (or not so basics)
- Binary Tree playlist - Tushar Roy - Coding Made Simple
- 8 Useful Tree Data Structures Worth Knowing
- Segment Tree Range Minimum Query
- Exploring Segment Trees
- AVL Tree - Insertion and Rotations
- B Trees and B+ Trees. How they are useful in Databases
- Red Black Tree Insertion --- NOTE: Partho, read this
- Fenwick Tree or Binary Indexed Tree
- Fenwick Tree ( Binary Index Tree ) --- NOTE: Partho, read this
Binary Indexed Tree Vs Fenwick Tree
- Fenwick Tree or Binary Indexed Tree - youtube
- Binary Indexed Tree or Fenwick Tree - geeksforgeeks
- Binary Indexed Tree or Fenwick Tree - topcoder
- Segment Tree Range Minimum Query - youtube
- Segment Tree | Set 1 (Sum of given range) - geeksforgeeks
- Practical Data Structures for Frontend Applications: When to use Segment Trees
- What is the difference between a binary indexed tree and a segment tree?
- How does one decide when to use a Segment Tree or Fenwick Tree?
- What are the differences between segment trees, interval trees, binary indexed trees and range trees?
- Height, Depth and Level of a Tree
- What is the difference between tree depth and height?
Self Balancing Binary Search Trees
- Self-balancing binary search tree
- Self-Balancing-Binary-Search-Trees (Comparisons)
- Self-Balancing Binary Search Trees 101
- 10.1 AVL Tree - Insertion and Rotations
- Red Black tree | Introduction to Red Black trees | Data structure
- Red Black Tree Insertion
- Title
- Title
- Title
Augmented Binary Search Trees(Interval BS Vs Segment Tree Vs Range Tree)
7. Graph(Dijkstra, Union Find, Kruskal, Prim's, Minimum Spanning Tree, Topological Ordering...etc)
- Graph Theory Playlist
- Graph Theory Playlist 2
- Union Find [Disjoint Set] Playlist
- Disjoint Sets Data Structure - Weighted Union and Collapsing Find
- Codinginterviewclass.com
- Single(Di-Bel)/All(Flo) Source Shortest Path Algorithms: Dijkstra (1, 2), Bellman-Ford(1, 2), Floyd–Warshall(1, 2)
- Dijkstra’s Algorithm Vs Bellman-Ford Algorithm Vs Floyd Warshall Algorithm ( 1, 2, 3 )
- Minimum Spanning Tree Algorithm: Prim's ( 1, 2, Kruskal's (1, 2 )
- Kruskal's algorithm Vs Prim's algorithm ( 1, 2, 3 )
- Tushar Roy - Coding Made Simple - Grapy Algorithm Playlist
8. Bit Manipulation
- Bit Manipulation - youtube
- Conversion of Binary, Octal and Hexadecimal Numbers
- Your guide to Bit Manipulation
- Python Bitwise Operators
- Add Two Numbers Without The "+" Sign (Bit Shifting Basics)
- Binary Arithmetic
- 1’s and 2’s complement of a Binary Number
- What is “2's Complement”?
- Bits manipulation (Important tactics)
- Bit Manipulation
- Python Bitwise Operators
- XOR - The magical bitwise operator
- A summary: how to use bit manipulation to solve problems easily and efficiently - leetcode
- Bit Manipulation 4% of LeetCode Problems
- Coding Interview University - Bitwise operations
- Mask (computing)
- What is Bit Masking?
- Understanding Bit masks
- Bitmasks: A very esoteric (and impractical) way of managing booleans
- Hacker’s Delight - BOOK
- Bitwise operators — Facts and Hacks
- Signed number representations
- Vid 1, Vid 2
9. Dynamic Programming
- The FAST method
- A good approach to attack DP
- Tabulation vs Memoization
- Memoization vs Tabulation
- 1D Subproblems vs. 2D Subproblems
- Memoization (1D, 2D and 3D)
- Introduction to Multi-dimensional Dynamic Programming
- Dynamic Programming Patterns - MUST READ
- My experience and notes for learning DP
- DP IS EASY! 5 Steps to Think Through DP Questions
- Dynamic Programming Patterns
10. Greedy
11. DP VS Greedy
12. Backtracking
- Backtracking - wiki
- Backtracking | Introduction
- Introduction to Backtracking - Brute Force Approach
- Branch and Bound Introduction
- The Backtracking Blueprint: The Legendary 3 Keys To Backtracking Algorithms
- Backtracking explained
- Foundation of algorithms - Chapter 5 (Backtracking) notes
- Backtracking Search Algorithms
13. Recursion
- Learning to think with recursion, part 1
- Learning to think with recursion, part 2
- What makes a data structure recursive?
- Binary Tree as a Recursive Data Structure
- Recursion Visualizer - use Viz Mode
- Thinking Recursively in Python
- Breaking out of a recursive function?
- Why does recursion return the first call in the stack and not the last?
14. Game Theory