Introduction to Algorithms, Third Edition


Successor and predecessor



Download 4,84 Mb.
Pdf ko'rish
bet192/618
Sana07.04.2022
Hajmi4,84 Mb.
#534272
1   ...   188   189   190   191   192   193   194   195   ...   618
Bog'liq
Introduction-to-algorithms-3rd-edition

Successor and predecessor
Given a node in a binary search tree, sometimes we need to find its successor in
the sorted order determined by an inorder tree walk. If all keys are distinct, the


292
Chapter 12
Binary Search Trees
successor of a node
x
is the node with the smallest key greater than
x:
key
. The
structure of a binary search tree allows us to determine the successor of a node
without ever comparing keys. The following procedure returns the successor of a
node
x
in a binary search tree if it exists, and
NIL
if
x
has the largest key in the
tree:
T
REE
-S
UCCESSOR
.x/
1
if
x:
right
¤
NIL
2
return
T
REE
-M
INIMUM
.x:
right
/
3
y
D
x:
p
4
while
y
¤
NIL
and
x
==
y:
right
5
x
D
y
6
y
D
y:
p
7
return
y
We break the code for T
REE
-S
UCCESSOR
into two cases. If the right subtree
of node
x
is nonempty, then the successor of
x
is just the leftmost node in
x
’s
right subtree, which we find in line 2 by calling T
REE
-M
INIMUM
.x:
right
/
. For
example, the successor of the node with key
15
in Figure 12.2 is the node with
key
17
.
On the other hand, as Exercise 12.2-6 asks you to show, if the right subtree of
node
x
is empty and
x
has a successor
y
, then
y
is the lowest ancestor of
x
whose
left child is also an ancestor of
x
. In Figure 12.2, the successor of the node with
key
13
is the node with key
15
. To find
y
, we simply go up the tree from
x
until we
encounter a node that is the left child of its parent; lines 3–7 of T
REE
-S
UCCESSOR
handle this case.
The running time of T
REE
-S
UCCESSOR
on a tree of height
h
is
O.h/
, since we
either follow a simple path up the tree or follow a simple path down the tree. The
procedure T
REE
-P
REDECESSOR
, which is symmetric to T
REE
-S
UCCESSOR
, also
runs in time
O.h/
.
Even if keys are not distinct, we define the successor and predecessor of any
node
x
as the node returned by calls made to T
REE
-S
UCCESSOR
.x/
and T
REE
-
P
REDECESSOR
.x/
, respectively.
In summary, we have proved the following theorem.
Theorem 12.2
We can implement the dynamic-set operations S
EARCH
, M
INIMUM
, M
AXIMUM
,
S
UCCESSOR
, and P
REDECESSOR
so that each one runs in
O.h/
time on a binary
search tree of height
h
.


12.2
Querying a binary search tree
293

Download 4,84 Mb.

Do'stlaringiz bilan baham:
1   ...   188   189   190   191   192   193   194   195   ...   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