Note : By tree I mean a weighted tree where each node has a weight.
Is there anyway to build the Cartesian Tree of a Tree efficiently (less than $$$O(n^2)$$$) ?
By Cartesian tree of a tree I mean the following:
Find the node with minimum weight in the Tree. Make it the root.
Recursively do this for each of the subtrees formed and attach their roots to the Earlier root.
I chose to call it Cartesian Tree because it is very similar to this.