Given a binary tree and an integer b representing budget. The task is to find the count of maximum number of leaf nodes that can be visited under the given budget if cost of visiting a leaf node is equal to level of that leaf node.
Note: Root of the tree is at level 1.
Input: b = 8 10 / \ 8 15 / / \ 3 11 18 \ 13 Output: 2 For the above binary tree, leaf nodes are 3, 13 and 18 at levels 3, 4 and 3 respectively. Cost for visiting leaf node 3 is 3 Cost for visiting leaf node 13 is 4 Cost for visiting leaf node 18 is 3 Thus with given budget = 8, we can at maximum visit two leaf nodes. Input: b = 1 8 / \ 7 10 / 3 Output: 0 For the above binary tree, leaf nodes are 3 and 10 at levels 3 and 2 respectively. Cost for visiting leaf node 3 is 3 Cost for visiting leaf node 10 is 2 In given budget = 1, we can't visit any leaf node.
- Traverse the binary tree using level order traversal, and store the level of all the leaf nodes in a priority queue.
- Remove an element from the priority queue one by one, check if this value is within the budget.
- If Yes then subtract this value from the budget and update count = count + 1.
- Else, print the count of maximum leaf nodes that can be visited within the given budget.
Below is the implementation of the above approach:
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Maximum sum of leaf nodes among all levels of the given binary tree
- Maximum sum of non-leaf nodes among all levels of the given binary tree
- Implementing a BST where every node stores the maximum number of nodes in the path till any leaf
- Print the longest leaf to leaf path in a Binary tree
- Root to leaf path with maximum distinct nodes
- CSS | :visited Selector
- Print Leaf Nodes at a given Level
- Construct XOR tree by Given leaf nodes of Perfect Binary Tree
- Find K smallest leaf nodes from a given Binary Tree
- Number of leaf nodes in the subtree of every node of an n-ary tree
- Program to count leaf nodes in a binary tree
- Count of Root to Leaf Paths consisting of at most M consecutive Nodes having value K
- Print all nodes that are at distance k from a leaf node
- Remove nodes on root to leaf paths of length < K
- Find height of a special binary tree whose leaf nodes are connected
- Iterative program to count leaf nodes in a Binary Tree
- Delete leaf nodes with value as x
- Sum of all leaf nodes of binary tree
- Sum of nodes on the longest path from root to leaf node
- Print all leaf nodes of a Binary Tree from left to right
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.