Given a tree, and the weights of all the nodes and an integer x, the task is to find a node i such that weight[i] xor x is maximum.
x = 15
Node 1: 5 xor 15 = 10
Node 2: 10 xor 15 = 5
Node 3: 11 xor 15 = 4
Node 4: 8 xor 15 = 7
Node 5: 6 xor 15 = 9
Approach: Perform dfs on the tree and keep track of the node whose weighted xor with x gives the maximum value.
Below is the implementation of the above approach:
- Time Complexity : O(N).
In dfs, every node of the tree is processed once and hence the complexity due to the dfs is O(N) if there are total N nodes in the tree. Therefore, the time complexity is O(N).
- Auxiliary Space : O(1).
Any extra space is not required, so the space complexity is constant.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Find the node whose sum with X has maximum set bits
- Find the maximum Even Digit Sum node in the given tree
- Find the node whose absolute difference with X gives maximum value
- Find the maximum node at a given level in a binary tree
- Find the node with maximum value in a Binary Search Tree
- Find the node with maximum value in a Binary Search Tree using recursion
- Find farthest node from each node in Tree
- Node having maximum sum of immediate children and itself in n-ary tree
- Sum of the distances from every node to all other nodes is maximum
- Get maximum left node in binary tree
- Maximum sum possible for every node by including it in a segment of N-Ary Tree
- Maximum XOR with given value in the path from root to given node in the tree
- Maximum number of nodes which can be reached from each node in a graph.
- Minimum valued node having maximum depth in an N-ary Tree
- Print the node with the maximum degree in the prufer sequence
- Maximum difference between node and its ancestor in Binary Tree
- Iterative Segment Tree (Range Maximum Query with Node Update)
- Minimum and maximum node that lies in the path connecting two nodes in a Binary Tree
- Implementing a BST where every node stores the maximum number of nodes in the path till any leaf
- Find next right node of a given key | Set 2
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.