The Algorithm Design Manual Second Edition


Stop and Think: Exploiting Balanced Search Trees



Download 5,51 Mb.
Pdf ko'rish
bet83/488
Sana31.12.2021
Hajmi5,51 Mb.
#273936
1   ...   79   80   81   82   83   84   85   86   ...   488
Bog'liq
2008 Book TheAlgorithmDesignManual

83

Stop and Think: Exploiting Balanced Search Trees

Problem: You are given the task of reading numbers and then printing them

out in sorted order. Suppose you have access to a balanced dictionary data struc-

ture, which supports the operations search, insert, delete, minimum, maximum,

successor, and predecessor each in O(log n) time.



Solution: The first problem allows us to do insertion and inorder-traversal. We can

build a search tree by inserting all elements, then do a traversal to access the

items in sorted order:

Sort1()


initialize-tree(t)

While (not EOF)

read(x);

insert(x,t)

Traverse(t)

Sort2()


initialize-tree(t)

While (not EOF)

read(x);

insert(x,t);

y = Minimum(t)

While (y


= NULL) do

print(y


→ item)

y = Successor(y,t)

Sort3()

initialize-tree(t)

While (not EOF)

read(x);


insert(x,t);

y = Minimum(t)

While (y

= NULL) do

print(y


item)

Delete(y,t)

y = Minimum(t)

The second problem allows us to use the minimum and successor operations

after constructing the tree. We can start from the minimum element, and then

repeatedly find the successor to traverse the elements in sorted order.

The third problem does not give us successor, but does allow us delete. We

can repeatedly find and delete the minimum element to once again traverse all the

elements in sorted order.

Each of these algorithms does a linear number of logarithmic-time operations,

and hence runs in O(log n) time. The key to exploiting balanced binary search

trees is using them as black boxes.




Download 5,51 Mb.

Do'stlaringiz bilan baham:
1   ...   79   80   81   82   83   84   85   86   ...   488




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