DSA Topics for Service-Based Companies
1. Basics & Foundation
- Time and Space Complexity
- Basic Input/Output
- Mathematical Problems (LCM, GCD, Prime check, etc.)
- Bitwise Operators (only basics)
2. Arrays
- Traversals
- Max/Min in Array
- Reverse an Array
- Subarrays and Prefix Sum
- Kadane's Algorithm (Max Subarray Sum)
- Left/Right Rotation
- Remove Duplicates (Sorted Array)
3. Sorting Algorithms
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort (basic understanding)
- Quick Sort (basic understanding)
- Count Sort (only concept)
4. Searching
- Linear Search
- Binary Search
- First/Last Occurrence using Binary Search
- Search in Sorted & Rotated Array (basic level)
5. Strings
- Palindrome Check
- Anagram Check
- Frequency Count (using hash or array)
- String Reversal
- Vowel/Consonant Count
- String Compression (Basic)
6. Linked List
- Singly Linked List Creation and Traversal
- Insertion/Deletion
- Reverse a Linked List
- Detect Loop (Floyd's Algorithm)
- Middle of Linked List
7. Stack and Queue
- Implementation using Arrays/Linked List
- Balanced Parentheses
- Infix to Postfix
- Postfix Evaluation
- Queue using Stack
- Circular Queue
8. Recursion (Only Basics)
- Factorial
- Fibonacci
- Sum of Digits
- Recursively Reverse a String or Array
9. Greedy (Easy Level)
- Activity Selection Problem
- Coin Change (Greedy version)
- Minimum Platforms
10. Simple Tree Concepts
- Binary Tree Traversals (Inorder, Preorder, Postorder)
- Height of Tree
- Count Nodes, Leaf Nodes
- Basic BST Insertion/Search
11. Basic Graph Concepts
- Graph Representations (Adjacency List/Matrix)
- BFS/DFS
12. Miscellaneous
- Frequency Count using HashMap
- Two Sum (basic)
- Duplicate Elements
- Basic Sliding Window (Fixed window size)