The Algorithm Design Manual Second Edition


Solving Divide-and-Conquer Recurrences (*)



Download 5,51 Mb.
Pdf ko'rish
bet126/488
Sana31.12.2021
Hajmi5,51 Mb.
#273936
1   ...   122   123   124   125   126   127   128   129   ...   488
Bog'liq
2008 Book TheAlgorithmDesignManual

4.10.3

Solving Divide-and-Conquer Recurrences (*)

In fact, divide-and-conquer recurrences of the form (n) = aT (n/b) + (n) are

generally easy to solve, because the solutions typically fall into one of three distinct

cases:


1. If (n) = O(n

log


b

a

−

) for some constant  > 0, then (n) = Θ(n

log

b

a

).

2. If (n) = Θ(n



log

b

a

), then (n) = Θ(n

log

b

a

lg n).

3. If (n) = Ω(n

log


b

a+

) for some constant  > 0, and if af (n/b)



≤ cf(n) for

some c < 1, then (n) = Θ((n)).

Although this looks somewhat frightening, it really isn’t difficult to apply. The

issue is identifying which case of the so-called master theorem holds for your given

recurrence. Case 1 holds for heap construction and matrix multiplication, while

Case 2 holds mergesort and binary search. Case 3 generally arises for clumsier

algorithms, where the cost of combining the subproblems dominates everything.

The master theorem can be thought of as a black-box piece of machinery, in-

voked as needed and left with its mystery intact. However, with a little study, the

reason why the master theorem works can become apparent.

Figure

4.9


shows the recursion tree associated with a typical (n) = aT (n/b) +

(n) divide-and-conquer algorithm. Each problem of size is decomposed into a

problems of size n/b. Each subproblem of size takes O((k)) time to deal with

internally, between partitioning and merging. The total time for the algorithm is

the sum of these internal costs, plus the overhead of building the recursion tree.

The height of this tree is = log

b

and the number of leaf nodes a

h

a

log

b

n

,

which happens to simplify to n



log

b

a

with some algebraic manipulation.

The three cases of the master theorem correspond to three different costs which

might be dominant as a function of ab, and (n):



• Case 1: Too many leaves – If the number of leaf nodes outweighs the sum of

the internal evaluation cost, the total running time is O(n

log

b

a

).

• Case 2: Equal work per level – As we move down the tree, each problem

gets smaller but there are more of them to solve. If the sum of the internal

evaluation costs at each level are equal, the total running time is the cost per

level (n

log


b

a

) times the number of levels (log



b

n), for a total running time of

O(n

log


b

a

lg n).




138

4 .


S O R T I N G A N D S E A R C H I N G

height = log n



b

partition size = 1

partition size = b

2

n

n/b

n/b

partition size = 

partition size = 

partition size = 

vertex degree = a

Figure 4.9: The recursion tree resulting from decomposing each problem of size into a

problems of size n/b

• Case 3: Too expensive a root – If the internal evaluation costs grow rapidly

enough with n, then the cost of the root evaluation may dominate. If so, the

the total running time is O((n)).


Download 5,51 Mb.

Do'stlaringiz bilan baham:
1   ...   122   123   124   125   126   127   128   129   ...   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