Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2
01Introduction
Analysis of Algorithms, Asymptotic Analysis, Order of Growth
Best, Average and Worst Cases, Asymptotic Notations and more 02Mathematics Python DSA - Count Digits, Palindrome Number, Factorial of a number, Trailing Zeros in Factorial, GCD and HCF of two numbers and more. Important Practice Problems 03Bit Magic Bitwise Operator in Python, Check Kth bit is set or not, Count Set Bits, Power of Two, One Odd Occuring and more. Important Practice Problems 04List Basic - Introduction, Working of List in Python, Average or Mean of a List, Separate Even and Odd, Get Smaller Elements and more Advanced - Left Rotate by d Places, Maximum difference, Stock Buy &Sell, Trapping Rainwater, Maximum Consecutive 1s and more Important Practice Problems 05Recursion Basic - Applications of Recursion, Writing Base Cases in Recursion, Tail Recursion, Practice For Recursion and more. Advanced - Subset of a given string, Printing all Permutations, Tower of Hanoi in Python, Josephus Problem in Python and more. Important Practice Problems 06Searching Basics - Binary Search in Python, Recursive Binary Search in Python, Analysis of Binary Search, Index of first occurrence in a sorted array and more. Advanced - Search in Sorted Rotated Array, Median of two sorted arrays, Repeating Elements Part, Allocate Minimum Pages (Naive Method, Binary Search) Important Practice Problems 07Sorting Basics - Sorting in Python, List Sort in Python, Sorted in Python, Stability in Sorting Algorithm, Bubble Sortand more Advanced - Tail Call Elimination in Quick Sort, Kth Smallest, Minimum Difference in an Array, Chocolate Distribution Problem and more Important Practice Problem 08Hashing Basics - Introduction to Hashing, Hashing Application, Direct Address Table, Hashing Functions, Collision Handling and more. Advanced - Intersection of two arrays, Union of two unsorted arrays, Pair with given sum in unsorted array, Subarray with 0 sum in Python and more Important Practice Problems 09Strings Basics - Escape Sequences and Raw Strings, Formatted String in Python, String Comparison in Python, String Operations and more Advanced - Overview of Pattern Searching, Pattern Searching in Python, Naive Pattern Searching, Improved Naive Pattern Searching for Distinct and more Important Practice Problems 10Linked List Basics - Problems with Array Data Structure, Simple Linked List Implementation, Applications of Linked List, Circular and Doubly Linked List (Advantages & Disadvantages) and more. Advanced - Reverse a linked list in groups of size k, Detect loop using floyd's cycle detection algorithm, Detect and remove loop in linked list and more. Important Practice Problems 11Stack Basics - Stack Data Structure, Stack in Python, Linked List Implementation of Stack, Stack Applications, Check for Balanced Parenthesis and more. Advanced - Two stacks in an array, K Stacks in an array, Previous Greater Element, Next Greater Element, Stock span problem and more. Important Practice Problems 12Queue Basics - Queue in Python, Queue Data Structure, Application of Queue Data structure, Implementation of Queue using Array and more. Advanced - Queue Implementation using Circular List, Implementing stack using queue, Reversing a Queue and more. Important Practice Problems 13Deque Basics - Deque Introduction, Deque Applications, Deque in Python, List Implementation of Deque in Python, Linked List Implementation of Deque and more. Advanced - Generate numbers with given digits, Design a data structure with min/max operations, Maximums of all subarrays of size k and more. Important Practice Problems 14Tree Basics - Tree Data Structure, Application of Tree, Binary Tree in Python, Tree Traversal, Inorder, Preorder, Postorder Traversal, and more. Advanced - Level Order Traversal by Line, Check for Balanced Binary Tree, Maximum Width of Binary Tree, Convert Binary Tree to Doubly Linked List and more. Important Practice Problem 15Binary Search Tree Basics - Introduction, Search in BST, BST insert, BST Delete, Floor in BST (Problem and Solution Idea), Self Balancing BST and more Advanced - Ceiling on the left side in an array, Find Kth Smallest in BST, Check for BST, Fix BST with Two Nodes Swapped and more Important Practice Problems 16Heap Basics - Binary Heap Introduction, Heap Python Implementation, Binary Heap Insert, Binary Heap (Extract min and Heapify) and more. Advanced - Sort K Sorted Array, Purchase Maximum Items, K Largest Elements, K Closest Elements, and more Important Practice Porblems 17Graph Introduction to Graph, Graph Representation (Adjacency Matrix, Adjacency List), Breadth First Search, BFS for Disconnected Graph, and more. Important Practice Problems 18Greedy Introduction to Greedy Algorithms, Activity Selection Problem, Fractional Knapsack, Fractional Knapsack in Python, Huffman Coding, and more. Important Practice Problems 19Backtracking Concept of backtracking, Rat In a Maze, N Queen Problem, Sudoku Problem Important Practice Problems 20Dynamic Programming Introduction to DP, Dynamic Programming Memoization, Dynamic Programming Tabulation, Longest Common Subsequence, Variation of LCS, Coin Change Count Combinations and more. Important Practice Problems 21Trie Introduction, Representation, Search, Insert, Delete, Count Distinct Rows in a Binary Matrix Important Practice Problems 22Segment and Binary Indexed Trees Segment Tree, Constructing Segment Tree, Range and Update Query on Segment Tree, Binary Indexed Tree, Binary Indexed Tree (An Example Problem) and more. Important Practice Problems 23Disjoint Set Disjoint Set Introduction, Find and Union Operations on Disjoint Sets, Union by Rank, Path Compression, Kruskal's Algorithm and more. Important Practice Problems