Introduction to Algorithms, Third Edition


optimal binary search tree



Download 4,84 Mb.
Pdf ko'rish
bet259/618
Sana07.04.2022
Hajmi4,84 Mb.
#534272
1   ...   255   256   257   258   259   260   261   262   ...   618
Bog'liq
Introduction-to-algorithms-3rd-edition

optimal binary search tree
. Formally, we are
given a sequence
K
D h
k
1
; k
2
; : : : ; k
n
i
of
n
distinct keys in sorted order (so that
k
1
< k
2
<
< k
n
), and we wish to build a binary search tree from these keys.
For each key
k
i
, we have a probability
p
i
that a search will be for
k
i
. Some
searches may be for values not in
K
, and so we also have
n
C
1
“dummy keys”
6
If the subject of the text is castle architecture, we might want
machicolation
to appear near the root.
7
Yes,
machicolation
has a French counterpart:
mˆachicoulis
.


398
Chapter 15
Dynamic Programming
k
2
k
1
k
4
k
3
k
5
d
0
d
1
d
2
d
3
d
4
d
5
(a)
k
2
k
1
k
4
k
3
k
5
d
0
d
1
d
2
d
3
d
4
d
5
(b)
Figure 15.9
Two binary search trees for a set of
n
D
5
keys with the following probabilities:
i
0
1
2
3
4
5
p
i
0.15
0.10
0.05
0.10
0.20
q
i
0.05
0.10
0.05
0.05
0.05
0.10
(a)
A binary search tree with expected search cost 2.80.
(b)
A binary search tree with expected search
cost 2.75. This tree is optimal.
d
0
; d
1
; d
2
; : : : ; d
n
representing values not in
K
. In particular,
d
0
represents all val-
ues less than
k
1
,
d
n
represents all values greater than
k
n
, and for
i
D
1; 2; : : : ; n
1
,
the dummy key
d
i
represents all values between
k
i
and
k
i
C
1
. For each dummy
key
d
i
, we have a probability
q
i
that a search will correspond to
d
i
. Figure 15.9
shows two binary search trees for a set of
n
D
5
keys. Each key
k
i
is an internal
node, and each dummy key
d
i
is a leaf. Every search is either successful (finding
some key
k
i
) or unsuccessful (finding some dummy key
d
i
), and so we have
n
X
i
D
1
p
i
C
n
X
i
D
0
q
i
D
1 :
(15.10)
Because we have probabilities of searches for each key and each dummy key,
we can determine the expected cost of a search in a given binary search tree
T
. Let
us assume that the actual cost of a search equals the number of nodes examined,
i.e., the depth of the node found by the search in
T
, plus 1. Then the expected cost
of a search in
T
is
E
Œ
search cost in

D
n
X
i
D
1
.
depth
T
.k
i
/
C
1/
p
i
C
n
X
i
D
0
.
depth
T
.d
i
/
C
1/
q
i
D
1
C
n
X
i
D
1
depth
T
.k
i
/
p
i
C
n
X
i
D
0
depth
T
.d
i
/
q
i
;
(15.11)


15.5
Optimal binary search trees
399
where depth
T
denotes a node’s depth in the tree
T
. The last equality follows from
equation (15.10). In Figure 15.9(a), we can calculate the expected search cost node
by node:
node
depth
probability
contribution
k
1
1
0.15
0.30
k
2
0
0.10
0.10
k
3
2
0.05
0.15
k
4
1
0.10
0.20
k
5
2
0.20
0.60
d
0
2
0.05
0.15
d
1
2
0.10
0.30
d
2
3
0.05
0.20
d
3
3
0.05
0.20
d
4
3
0.05
0.20
d
5
3
0.10
0.40
Total
2.80
For a given set of probabilities, we wish to construct a binary search tree whose
expected search cost is smallest. We call such a tree an
optimal binary search tree
.
Figure 15.9(b) shows an optimal binary search tree for the probabilities given in
the figure caption; its expected cost is 2.75. This example shows that an optimal
binary search tree is not necessarily a tree whose overall height is smallest. Nor
can we necessarily construct an optimal binary search tree by always putting the
key with the greatest probability at the root. Here, key
k
5
has the greatest search
probability of any key, yet the root of the optimal binary search tree shown is
k
2
.
(The lowest expected cost of any binary search tree with
k
5
at the root is 2.85.)
As with matrix-chain multiplication, exhaustive checking of all possibilities fails
to yield an efficient algorithm. We can label the nodes of any
n
-node binary tree
with the keys
k
1
; k
2
; : : : ; k
n
to construct a binary search tree, and then add in the
dummy keys as leaves. In Problem 12-4, we saw that the number of binary trees
with
n
nodes is
.4
n
=n
3=2
/
, and so we would have to examine an exponential
number of binary search trees in an exhaustive search. Not surprisingly, we shall
solve this problem with dynamic programming.

Download 4,84 Mb.

Do'stlaringiz bilan baham:
1   ...   255   256   257   258   259   260   261   262   ...   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