DSA Sheet - Day 16 Binary Trees

DSA Sheet Day 16 - Binary Trees | ExpertFunda

🌳 DSA Sheet – Day 16: Binary Trees (Part 1)

This section introduces core binary tree concepts including DFS traversals, BFS level order traversal, and fundamental tree-based interview patterns.

📊 Progress Tracker

Progress: 0 / 6 Completed

Done Problem Practice Level Companies
Preorder Traversal Solve Easy Google, Microsoft
Inorder Traversal Solve Easy Amazon, Adobe
Postorder Traversal Solve Easy Google
Level Order Traversal Solve Medium Amazon, Uber
Minimum Distance Between BST Nodes Solve Easy Google
Symmetric Tree Solve Easy Microsoft, LinkedIn

🧠 Key Approaches

  • Tree Traversals: DFS (Preorder, Inorder, Postorder)
  • Level Order: BFS using queue
  • Minimum Distance: Inorder traversal of BST (sorted)
  • Symmetric Tree: Mirror comparison (left vs right)

⚡ Quick Cheatsheet

Inorder Traversal (DFS)


void inorder(TreeNode* root){
  if(!root) return;

  inorder(root->left);
  // visit node
  inorder(root->right);
}
    

Level Order Traversal (BFS)


queue q;
q.push(root);

while(!q.empty()){
  int size = q.size();

  while(size--){
    TreeNode* node = q.front(); 
    q.pop();

    if(node->left) q.push(node->left);
    if(node->right) q.push(node->right);
  }
}
    

Symmetric Tree


bool isMirror(TreeNode* a, TreeNode* b){
  if(!a && !b) return true;
  if(!a || !b) return false;

  return a->val == b->val &&
         isMirror(a->left, b->right) &&
         isMirror(a->right, b->left);
}
    

🔥 Pro Tip

Binary Trees revolve around two core patterns:
  • DFS (recursive thinking)
  • BFS (level-wise traversal)
If you master these two, most tree problems become pattern recognition.
Continue Reading →