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 …
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 …
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 …
Find optimal cost to construct binary search tree where each key can repeat several times. We are given frequency of each key in same order as corresponding keys in inorder traversal of a binary search tree.
Find duplicate rows present in a given binary matrix by traversing the matrix only once.
Given a huge set of strings with duplicate strings present, find first k-maximum occurring words in it.
Given a huge set of strings with duplicate strings present, find the maximum occurring word in it. If two words have same count, return any one of them.
Lexicographic sorting: Given a set of strings, print them in Lexicographic order (dictionary/alphabetical order).
Find Longest Common Prefix (LCP) in given set of strings.
In this post, we will cover memory efficient Trie implementation in C++ using map data structure.
Implement insert, search and delete operations on Trie Data structure. Assume that input consist of lowercase letters a-z.
Given an undirected graph, check if is is a tree or not. In other words, check if given undirected graph is a Acyclic Connected Graph or not.