# 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