Skip to content

Latest commit

 

History

History
168 lines (148 loc) · 5.22 KB

progress.md

File metadata and controls

168 lines (148 loc) · 5.22 KB

Progress Tracker

This document tracks the progress of my learning in Data Structures and Algorithms. Below is a checklist of topics I plan to cover, and I will update this as I complete each one.

Topics Learned:

1. Arrays and Strings

  • Basic Operations (Insertion, Deletion)
  • Searching (Linear Search, Binary Search)
  • Sorting Algorithms (Bubble Sort, Merge Sort, Quick Sort, Heap Sort)
  • Two-pointer technique
  • Sliding window technique
  • Arrays in Space Complexity Optimization
  • String Matching Algorithms (KMP, Rabin-Karp, Boyer-Moore)
  • Anagram Checking
  • String Compression
  • Palindromes and Substrings
  • Subarray and Subsequence Problems

2. Linked Lists

  • Singly Linked List
  • Doubly Linked List
  • Circular Linked List
  • Operations (Insertion, Deletion, Traversal)
  • Reversing Linked List
  • Detecting and Removing Loops
  • Merge Sort for Linked Lists
  • Intersection of Two Linked Lists
  • Flattening a Linked List

3. Stacks and Queues

  • Stack Operations (Push, Pop, Peek)
  • Queue Operations (Enqueue, Dequeue, Front, Rear)
  • Implementing Stacks and Queues using Arrays and Linked Lists
  • Applications (Balanced Parentheses, Infix to Postfix, Postfix to Infix)
  • Design a Stack with Min Operation
  • Circular Queue
  • Sliding Window Maximum using Deque

4. Trees

  • Binary Trees (Traversal, Depth First Search, Breadth First Search)
  • Binary Search Trees (Insertion, Deletion, Searching)
  • AVL Trees (Balancing, Rotations)
  • Red-Black Trees
  • Segment Trees
  • Fenwick Tree (Binary Indexed Tree)
  • N-ary Trees
  • Trie (Prefix Tree)
  • Tree Isomorphism and Diameter
  • Lowest Common Ancestor (LCA)
  • Binary Tree Problems (Symmetry, Path Sum, Balanced Tree)

5. Graphs

  • Representation (Adjacency Matrix, Adjacency List, Edge List)
  • Graph Traversal (BFS, DFS)
  • Shortest Path Algorithms (Dijkstra’s, Bellman-Ford, Floyd-Warshall)
  • Minimum Spanning Tree (Prim’s, Kruskal’s)
  • Topological Sorting
  • Strongly Connected Components (Kosaraju’s, Tarjan’s Algorithm)
  • Graph Cycle Detection
  • Bipartite Graph Check
  • Eulerian and Hamiltonian Paths
  • Network Flow (Ford-Fulkerson, Edmonds-Karp)

6. Heaps and Priority Queues

  • Min Heap & Max Heap
  • Heap Sort
  • Priority Queue Operations
  • Applications (K’th Largest/Smallest Element, Merge K Sorted Lists)
  • D-ary Heap

7. Hashing

  • Hash Tables
  • Collision Handling Techniques (Chaining, Open Addressing)
  • Hash Map, Hash Set
  • Hashing for Counting and Grouping
  • Anagram Grouping

8. Dynamic Programming

  • Fibonacci Sequence (Memoization, Tabulation)
  • 0/1 Knapsack Problem
  • Longest Common Subsequence (LCS)
  • Longest Increasing Subsequence (LIS)
  • Coin Change Problem
  • Matrix Chain Multiplication
  • Partition Problem
  • Subset Sum Problem
  • Dynamic Programming on Trees and Graphs
  • Dynamic Programming with Bitmasking
  • String Edit Distance (Levenshtein Distance)

9. Backtracking

  • Solving N-Queens Problem
  • Subset and Permutation Generation
  • Sudoku Solver
  • Combination Sum
  • Graph Coloring
  • Hamiltonian Path

10. Divide and Conquer

  • Merge Sort
  • Quick Sort
  • Binary Search
  • Closest Pair of Points
  • Matrix Exponentiation
  • Count Inversions

11. Greedy Algorithms

  • Fractional Knapsack Problem
  • Job Scheduling
  • Activity Selection Problem
  • Huffman Coding
  • Kruskal’s and Prim’s Algorithms

12. Advanced Data Structures

  • Segment Tree (Lazy Propagation)
  • Trie (for efficient prefix search)
  • Suffix Tree and Suffix Array
  • Disjoint Set Union (Union-Find)
  • AVL Trees, Red-Black Trees, and B-trees
  • Skip Lists
  • Bloom Filter

13. Bit Manipulation

  • XOR-based Problems
  • Setting and Clearing Bits
  • Counting Set Bits
  • Fast Exponentiation
  • Binary Representation Tricks

14. Math and Number Theory

  • Prime Number Algorithms (Sieve of Eratosthenes, Trial Division)
  • Modular Arithmetic
  • GCD and LCM
  • Euclidean Algorithm
  • Chinese Remainder Theorem
  • Fast Powering (Exponentiation by Squaring)
  • Combinatorics (Permutations, Combinations, Pigeonhole Principle)

15. String Algorithms

  • KMP Algorithm
  • Rabin-Karp Algorithm
  • Z Algorithm
  • Aho-Corasick Algorithm
  • Trie for Word Search
  • Suffix Arrays and Suffix Trees

16. Computational Geometry

  • Convex Hull (Graham Scan, Jarvis March)
  • Line Intersection
  • Sweep Line Algorithm
  • Closest Pair of Points

17. Miscellaneous

  • Matrix Multiplication Algorithms
  • Digital Root and Properties of Numbers
  • Game Theory (Nim Game, Grundy Numbers)
  • Pattern Searching Algorithms
  • Heavy-Light Decomposition
  • Number of Ways to Arrange

Problem Solving Practice

  • Leetcode (Top 100 Must-Have Questions)
  • Codeforces (Problem Sets)
  • HackerRank (Algorithms and Data Structures)
  • GeeksforGeeks (DSA Practice)
  • InterviewBit (Problem Solving)
  • CodeChef (Long and Short Contests)