Introduction to Algorithms, Third Edition



Download 4,84 Mb.
Pdf ko'rish
bet307/618
Sana07.04.2022
Hajmi4,84 Mb.
#534272
1   ...   303   304   305   306   307   308   309   310   ...   618
Bog'liq
Introduction-to-algorithms-3rd-edition

Figure 17.1
The action of M
ULTIPOP
on a stack
S
, shown initially in
(a)
. The top
4
objects are
popped by M
ULTIPOP
.S; 4/
, whose result is shown in
(b)
. The next operation is M
ULTIPOP
.S; 7/
,
which empties the stack—shown in
(c)
—since there were fewer than
7
objects remaining.
M
ULTIPOP
.S; k/
1
while
not S
TACK
-E
MPTY
.S /
and
k > 0
2
P
OP
.S /
3
k
D
k
1
Figure 17.1 shows an example of M
ULTIPOP
.
What is the running time of M
ULTIPOP
.S; k/
on a stack of
s
objects? The
actual running time is linear in the number of P
OP
operations actually executed,
and thus we can analyze M
ULTIPOP
in terms of the abstract costs of
1
each for
P
USH
and P
OP
. The number of iterations of the
while
loop is the number min
.s; k/
of objects popped off the stack. Each iteration of the loop makes one call to P
OP
in
line 2. Thus, the total cost of M
ULTIPOP
is min
.s; k/
, and the actual running time
is a linear function of this cost.
Let us analyze a sequence of
n
P
USH
, P
OP
, and M
ULTIPOP
operations on an ini-
tially empty stack. The worst-case cost of a M
ULTIPOP
operation in the sequence
is
O.n/
, since the stack size is at most
n
. The worst-case time of any stack opera-
tion is therefore
O.n/
, and hence a sequence of
n
operations costs
O.n
2
/
, since we
may have
O.n/
M
ULTIPOP
operations costing
O.n/
each. Although this analysis
is correct, the
O.n
2
/
result, which we obtained by considering the worst-case cost
of each operation individually, is not tight.
Using aggregate analysis, we can obtain a better upper bound that considers the
entire sequence of
n
operations. In fact, although a single M
ULTIPOP
operation
can be expensive, any sequence of
n
P
USH
, P
OP
, and M
ULTIPOP
operations on an
initially empty stack can cost at most
O.n/
. Why? We can pop each object from the
stack at most once for each time we have pushed it onto the stack. Therefore, the
number of times that P
OP
can be called on a nonempty stack, including calls within
M
ULTIPOP
, is at most the number of P
USH
operations, which is at most
n
. For any
value of
n
, any sequence of
n
P
USH
, P
OP
, and M
ULTIPOP
operations takes a total
of
O.n/
time. The average cost of an operation is
O.n/=n
D
O.1/
. In aggregate


454
Chapter 17
Amortized Analysis
analysis, we assign the amortized cost of each operation to be the average cost. In
this example, therefore, all three stack operations have an amortized cost of
O.1/
.
We emphasize again that although we have just shown that the average cost, and
hence the running time, of a stack operation is
O.1/
, we did not use probabilistic
reasoning. We actually showed a
worst-case
bound of
O.n/
on a sequence of
n
operations. Dividing this total cost by
n
yielded the average cost per operation, or
the amortized cost.

Download 4,84 Mb.

Do'stlaringiz bilan baham:
1   ...   303   304   305   306   307   308   309   310   ...   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