Let S be a set of n points in the plane with distinct integer x- and ycoordinate
ID: 659173 • Letter: L
Question
Let S be a set of n points in the plane with distinct integer x- and ycoordinates.
Let T be a complete binary tree storing the points from S
at its external nodes, such that the points are ordered left-to-right by increasing
x-coordinates. For each node v in T, let S(v) denote the subset of
S consisting of points stored in the subtree rooted at v. For the root r of
T, define top(r) to be the point in S = S(r) with maximum y-coordinate.
For every other node v, define top(r) to be the point in S with highest ycoordinate
in S(v) that is not also the highest y-coordinate in S(u), where
u is the parent of v in T (if such a point exists). Such labeling turns T into
a priority search tree. Describe a linear-time algorithm for turning T into
a priority search tree
In C++.
Explanation / Answer
Linear-time algorithm:
step-1: To insert points into integer X and Y co-ordinates
step 2: To store elements into T and ordered left-to-right
step 3: Denote subset S points in subtree rooted at V
step 4: Its normal form $mathcal{O}(1)$ (sometimes $mathcal{O}(log n)$)
step 5: To return the pointer to the minimum or maximum S = S(r).
step 6: To find minimum and maximum co-ordinates $mathcal{O}(1)$ time.
step 7: End state(exit)
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.