Introduction to Algorithms, Third Edition


Retrieving an element with a given rank



Download 4,84 Mb.
Pdf ko'rish
bet220/618
Sana07.04.2022
Hajmi4,84 Mb.
#534272
1   ...   216   217   218   219   220   221   222   223   ...   618
Bog'liq
Introduction-to-algorithms-3rd-edition

Retrieving an element with a given rank
Before we show how to maintain this size information during insertion and dele-
tion, let us examine the implementation of two order-statistic queries that use this
additional information. We begin with an operation that retrieves an element with
a given rank. The procedure OS-S
ELECT
.x; i /
returns a pointer to the node con-
taining the
i
th smallest key in the subtree rooted at
x
. To find the node with the
i
th
smallest key in an order-statistic tree
T
, we call OS-S
ELECT
.T:
root
; i /
.


14.1
Dynamic order statistics
341
OS-S
ELECT
.x; i /
1
r
D
x:
left
:
size
C
1
2
if
i
==
r
3
return
x
4
elseif
i < r
5
return
OS-S
ELECT
.x:
left
; i /
6
else return
OS-S
ELECT
.x:
right
; i
r/
In line 1 of OS-S
ELECT
, we compute
r
, the rank of node
x
within the subtree
rooted at
x
. The value of
x:
left
:
size
is the number of nodes that come before
x
in an inorder tree walk of the subtree rooted at
x
. Thus,
x:
left
:
size
C
1
is the
rank of
x
within the subtree rooted at
x
. If
i
D
r
, then node
x
is the
i
th smallest
element, and so we return
x
in line 3. If
i < r
, then the
i
th smallest element
resides in
x
’s left subtree, and so we recurse on
x:
left
in line 5. If
i > r
, then
the
i
th smallest element resides in
x
’s right subtree. Since the subtree rooted at
x
contains
r
elements that come before
x
’s right subtree in an inorder tree walk, the
i
th smallest element in the subtree rooted at
x
is the
.i
r/
th smallest element in
the subtree rooted at
x:
right
. Line 6 determines this element recursively.
To see how OS-S
ELECT
operates, consider a search for the 17th smallest ele-
ment in the order-statistic tree of Figure 14.1. We begin with
x
as the root, whose
key is 26, and with
i
D
17
. Since the size of 26’s left subtree is 12, its rank is 13.
Thus, we know that the node with rank 17 is the
17
13
D
4
th smallest element
in 26’s right subtree. After the recursive call,
x
is the node with key 41, and
i
D
4
.
Since the size of 41’s left subtree is 5, its rank within its subtree is 6. Thus, we
know that the node with rank 4 is the 4th smallest element in 41’s left subtree. Af-
ter the recursive call,
x
is the node with key 30, and its rank within its subtree is 2.
Thus, we recurse once again to find the
4
2
D
2
nd smallest element in the subtree
rooted at the node with key 38. We now find that its left subtree has size 1, which
means it is the second smallest element. Thus, the procedure returns a pointer to
the node with key 38.
Because each recursive call goes down one level in the order-statistic tree, the
total time for OS-S
ELECT
is at worst proportional to the height of the tree. Since
the tree is a red-black tree, its height is
O.
lg
n/
, where
n
is the number of nodes.
Thus, the running time of OS-S
ELECT
is
O.
lg
n/
for a dynamic set of
n
elements.

Download 4,84 Mb.

Do'stlaringiz bilan baham:
1   ...   216   217   218   219   220   221   222   223   ...   618




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish