## Find next node in same level for given node in a binary tree

Given a binary tree and a node in it, write an efficient algorithm to find its next node in same level as given node.

## Print Top View of Binary Tree

Given an binary tree, print top view of it. Assume, the left and right child of a node makes 45 degree angle with the parent.

## Print Bottom View of Binary Tree

Given an binary tree, print bottom view of it. Assume, the left and right child of a node makes 45 degree angle with the parent.

## Print Left View of Binary Tree

Given a binary tree, write an efficient algorithm to print left view of binary tree.

## Print all nodes of a perfect binary tree in specific order

Given a binary tree, write an efficient algorithm to print all nodes of it in specific order. We need to print nodes of every level in alternating left and right.

## Reverse Level Order Traversal of Binary Tree

Given a binary tree, print its nodes level by level in reverse order. i.e. all nodes present at last level should be printed first followed by nodes of second-last level and so on.. All nodes for any level should be printed from left to right.

## Spiral Order Traversal of Binary Tree

Given a binary tree, print its nodes level by level in spiral order. i.e. all nodes present at level 1 should be printed first from left to right, followed by nodes of level 2 right to left, followed by nodes of level 3 from left to right and so on.. In other words, odd levels …

## Level Order Traversal of Binary Tree

Given a binary tree, print its nodes level by level. i.e. all nodes present at level 1 should be printed first followed by nodes of level 2 and so on.. All nodes for any level should be printed from left to right.

## Delete a Binary Tree | Iterative & Recursive

Given a binary tree, write an efficient algorithm to delete entire binary tree.   The program should de-allocate every single node present in the tree, not just change reference of the root node to null.     The idea is to traverse the tree in post-order fashion and delete left and right subtree of a …

## Calculate height of binary tree | Iterative & Recursive

Write an efficient algorithm to compute the height of binary tree. The height or depth of a tree is number of edges or nodes on longest path from root node to leaf node.   The program should consider number of nodes in the longest path. For example, height of an empty tree is 0 and …

## Check if two binary trees are identical or not | Iterative & Recursive

Write an efficient algorithm to check if two binary trees are identical or not. i.e. if they have identical structure & their contents are also same.     The idea is to traverse both trees and compare value at their root node. If the value matches, we recursively check if left subtree of first tree …