---
# System prepended metadata

title: Important Topics for Placement

---

# Important Topics for Placement

1. Basic Arithmatic Questions (All solutions would be O(1) ) 
    * Questions on bit manipulation
    * Questions on counting 
    * Questions on sum of squares, cubes , numbers etc
    * Questions on sequences like fibonacci, catalan etc
2. Arrays (Usually all the questions asked would be solvable in < O(nlogn) , few exceptions)
    * Hashing (dictionary based)
    * Linear time problems
    * Binary Search (indirect questions)
    * Window based approach
    * Sorting based approaches
    * Dynamic Programming
    * Divide and Conquer
        * Merge sort based approaches(very common)
        * Quick sort partition based approaches
        * Other questions
    * Min-heap, Max-heap, heaps
3. Stacks
    * Majority of questions would involve using 1 or 2 stacks
        * Ex: Solving Postfix exp
        * Ex: Valid paranthesis string etc
    * Must do questions
        * Maximum/Minimum sum subarray
        * Maximum/Minimum sum subsequence
        * subarray with sum equal to or close to x
        * Circular Rotated sorted array
4. Queues
    * Priority Queues(commonly used in c++ for heaps)
5. Recursive Topics
6. Linked Lists
    * Primitive Linked List operations
    * Detecting,pinpointing and removing cyclicity
    * Doubly Linked List 
7. Strings
    * Anagrams, palindromes, character counting etc
    * Substring matching
8. Trees
    * Searching, insertion, [In|Post|Pre|Level] Order traversals
    * BST creation and usage
    * Mirroring trees, doubly-linkedlist to trees
    * Manipulation of trees
    * AVL/Red-Black trees
8. Graphs
    * Traversals