Given a binary tree, find maximum difference between a node and its descendants in it.
Given a binary tree, write an efficient algorithm to print right view of given binary tree.
Given a BST and a valid range of keys, remove nodes from BST that have keys outside the valid range.
Given a binary tree, write an iterative algorithm to print leaf to root path for every leaf node of binary tree. Use of Recursion is prohibited.
Given a binary search tree, find a pair with given sum present in it.
Given a binary tree, write an efficient algorithm to compute maximum width of it.
Given an array A which represents a binary tree such that the parent-child relationship is defined by (A[i], i) for every index i in the array A, build binary tree out of it.
Given a string and a dictionary of words, determine if string can be segmented into a space-separated sequence of one or more dictionary words.
Given a binary tree, write an efficient algorithm to invert binary tree.
Convert a given binary tree to BST (Binary Search Tree) by keeping original structure of the binary tree intact.
Given a normal binary tree, convert it to Left-child right-sibling (LC-RS) binary tree.
In this post, we will discuss C++ implementation of Trie Data Structure which supports insertion, deletion and search operations.