Data-Structures

Data Structures are divided into two types linear and non-linear.

Linear data structures include Array, Linked List, Queue and Stack. Nonlinear data structures include Tree and Graph.

Stack and It's Implementations a. Balance Parenthesis b. Expressions and their conversions c. Stock Span d. Maximum Area of Histogram e. Smallest to the left, right and vice verca

Queues and it's applications\n a. Negative in K sized window b. Level order traversal of tree c. Circular Tour d. First Non Repeating Char in Stream

Linked List a. Mid of Linked List b. In Place Reversal of Linked List c. Reverse k groups in linked list d. Cycle detection in linked list e. Interleave first and second half of Linked List

Binary Tree a. Traversals of Binary Tree b. Height of Binary Tree c. Diameter of Binary Tree d. Max, Min from Binary Tree

Binary Search Trees a. Max, Min in BST b. Add new node in BST c. Delete heavy path d. Delete a Node e. Validate BST

Graphs a. BFS b. DFS c. Detect Cycle d. Find Islands

Dynamic Programming a. Coin Exchange b. Knapsack 0/1

Heaps a. Min, Max Heaps