- Welcome to the DSA Beginner to Advanced repository! This repo is designed to help you learn Data Structures and Algorithms step-by-step, covering essential concepts such as arrays, linked lists, sorting, recursion, dynamic programming, and more.
- This list of DSA topics and questions has been generated with the assistance of ChatGPT to provide a structured learning path from beginner to advanced levels.
- Arrays: Definition, operations, traversing
- Strings: Basic operations, palindrome check, anagrams
- Linked Lists: Singly linked list, insertion, deletion, traversal
- Searching: Linear search, binary search
- Sorting: Bubble sort, selection sort, insertion sort
- Recursion: Factorial, Fibonacci, basic recursive problems
- Stacks: Implementation, applications (balanced parentheses, postfix evaluation)
- Queues: Implementation, circular queue, priority queue
- Hashing: Hash tables, collision resolution techniques
- Trees: Binary trees, traversal (inorder, preorder, postorder)
- Graph Representations: Adjacency matrix, adjacency list
- BFS (Breadth-First Search), DFS (Depth-First Search)
- Topological Sorting
- Introduction to DP
- Coin Change Problem, Knapsack Problem
- Greedy Algorithms: Activity selection, Huffman coding
- Binary Search Tree (BST), AVL Tree
- Segment Tree, Fenwick Tree
- Dijkstra’s Algorithm, Floyd-Warshall Algorithm
- Minimum Spanning Tree: Kruskal’s and Prim’s algorithm
- Network Flow: Ford-Fulkerson algorithm
- Longest Increasing Subsequence (LIS)
- Matrix Chain Multiplication
- Traveling Salesman Problem (TSP)
- Bitwise Operations, XOR Tricks
- Prime Numbers, Sieve of Eratosthenes
- Modular Arithmetic, GCD, LCM
- Segment Trees, Sparse Tables
- Mo’s Algorithm, Heavy-Light Decomposition
- Trie Data Structure, Suffix Arrays
📌 Contribution
- Feel free to contribute by adding explanations, examples, and optimizations!
- 📩 Pull requests are welcome!
⭐ Support
If you find this repository useful, don’t forget to ⭐ star it!