Following is the list of most common data structures used in programming languages and taught in computer science. A good understanding and having knowledge of practical use helps in writing clean and efficient code. For each data structures we have listed set of most commonly asked interview questions.

- Array
- LinkedList
- Queue
- Stack
- Hash
- Binary Tree
- Binary Search Tree
- Log Structured Tree
- Heap
- DS Time Complexity

**Linked List**

Programs on linked list

**Stack**

**Binary Tree**

Programs on Binary Tree

- Maximum height of a binary tree
- LCA of a binary tree
- Invert a binary tree
- Binary tree traversal of a tree
- Binary tree zigzag order traversal
- Maximum path sum of a binary tree
- Populate right pointer in a binary tree
- Symmetric/Mirror binary tree
- Balanced binary tree
- Diameter of a binary tree
- Sum of left leaves of a binary tree

**Binary Search Tree**

Programs on Binary Search Tree

**Algorithms**

- Maximum Product Subarray
- Check whether sudoku is valid
- Check whether string is valid parentheses
- Find Subsets
- Find subsets and handle duplicates
- Find possible permutations of distinct elements in an array
- Find possible permutations of elements in an array
- Find minimum path sum in a triangle (tree like data structure)
- Given a collection of intervals, merge all overlapping intervals.
- Minimum window substring.
- Top K elements in an array.
- Word Break
- Word Break II.