# Category: Queue

## Print corner nodes of every level in binary tree

Given a binary tree, print corner nodes of every level in it.

## Print Diagonal Traversal of Binary Tree

Given a binary tree, print all nodes for each diagonal having negative slope (\). Assume that the left and right child of a node makes 45 degree angle with the parent.

## Check if given binary tree is complete binary tree or not

Given a binary tree, check if it is a complete binary tree or not.

## 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 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 given 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 given 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 …

## Generate binary numbers between 1 to N

Given a positive number N, efficiently generate all binary numbers between 1 to N.

## Find Shortest path from source to destination in a matrix that satisfies given constraints

Given a N x N matrix of positive integers, find shortest path from the first cell of the matrix to its last cell that satisfies given constraints.

## Count the number of islands

Given a binary matrix where 0 represents water and 1 represents land, count the number of islands in it. A island is formed by connected one’s.   For example, consider below image.    Above image highlights water in blue and land in grey in a 10 x 10 matrix. There are total five islands present in the above …