Tree

  1. What is Tree?
  2. Types of Tree
    • Binary Tree
    • Ternary Tree
    • N-ary Tree
  3. Tree Operations
    • Insert
    • Find
    • Delete
  4. Tree Traversal
    • Depth First Search (DFS)
      • Inorder Traversal
      • Preorder Traversal
      • Postorder Traversal
    • Breadth First Search (BFS) / Level Order Traversal
  5. Practice Problems - Binary Tree
    • Height of a tree
    • Level Order Traversal
    • Reverse Level Order Traversal
    • Diameter of a tree
    • Mirror of a tree
    • Inorder Traversal of a tree both using recursion and Iteration
    • Preorder Traversal of a tree both using recursion and Iteration
    • Postorder Traversal of a tree both using recursion and Iteration
    • Left View of a tree
    • Right View of Tree
    • Top View of a tree
    • Bottom View of a tree
    • Zig-Zag traversal of a binary tree
    • Check if a tree is balanced or not
    • Diagonal Traversal of a Binary tree
    • Boundary traversal of a Binary tree
    • Construct Binary Tree from String with Bracket Representation
    • Convert Binary tree into Doubly Linked List
    • Convert Binary tree into Sum tree
    • Construct Binary tree from Inorder and preorder traversal
    • Find minimum swaps required to convert a Binary tree into BST
    • Check if Binary tree is Sum tree or not
    • Check if all leaf nodes are at same level or not
    • Check if a Binary Tree contains duplicate subtrees of size 2 or more
    • Check if 2 trees are mirror or not
    • Sum of Nodes on the Longest path from root to leaf node 
    • Check if given graph is tree or not
    • Find Largest subtree sum in a tree
    • Maximum Sum of nodes in Binary tree such that no two are adjacent 
    • Print all "K" Sum paths in a Binary tree
    • Find LCA in a Binary tree
    • Find distance between 2 nodes in a Binary tree
    • Kth Ancestor of node in a Binary tree
    • Find all Duplicate subtrees in a Binary tree
    • Tree Isomorphism Problem
  6. Practice Problems - Binary Search Trees
    • Find a value in BST
    • Delete Node in a BST
    • Minimum element in BST
    • Find min and max value in a BST
    • Find inorder successor and inorder predecessor in a BST
    • Check if a tree is a BST or not 
    • Populate Inorder successor of all nodes
    • Find LCA  of 2 nodes in a BST
    • Construct BST from preorder traversal
    • Convert Binary tree into BST
    • Convert a normal BST into a Balanced BST
    • Merge two BST
    • Find Kth largest element in a BST
    • Find Kth smallest element in a BST
    • Count pairs from 2 BST whose sum is equal to given value "X"
    • Find the median of BST in O(n) time and O(1) space
    • Count BST ndoes that lie in a given range
    • Replace every element with the least greater element on its right
    • Given "n" appointments, find the conflicting appointments
    • Check preorder is valid or not
    • Check whether BST contains Dead end
    • Largest BST in a Binary Tree
    • Flatten BST to sorted list