Introduction to Algorithms, Third Edition



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

Stack operations
To illustrate the accounting method of amortized analysis, let us return to the stack
example. Recall that the actual costs of the operations were
P
USH
1 ,
P
OP
1 ,
M
ULTIPOP
min
.k; s/
,
where
k
is the argument supplied to M
ULTIPOP
and
s
is the stack size when it is
called. Let us assign the following amortized costs:
P
USH
2 ,
P
OP
0 ,
M
ULTIPOP
0 .
Note that the amortized cost of M
ULTIPOP
is a constant (
0
), whereas the actual cost
is variable. Here, all three amortized costs are constant. In general, the amortized
costs of the operations under consideration may differ from each other, and they
may even differ asymptotically.
We shall now show that we can pay for any sequence of stack operations by
charging the amortized costs. Suppose we use a dollar bill to represent each unit
of cost. We start with an empty stack. Recall the analogy of Section 10.1 between
the stack data structure and a stack of plates in a cafeteria. When we push a plate
on the stack, we use
1
dollar to pay the actual cost of the push and are left with a
credit of
1
dollar (out of the
2
dollars charged), which we leave on top of the plate.
At any point in time, every plate on the stack has a dollar of credit on it.
The dollar stored on the plate serves as prepayment for the cost of popping it
from the stack. When we execute a P
OP
operation, we charge the operation nothing
and pay its actual cost using the credit stored in the stack. To pop a plate, we take
the dollar of credit off the plate and use it to pay the actual cost of the operation.
Thus, by charging the P
USH
operation a little bit more, we can charge the P
OP
operation nothing.


458
Chapter 17
Amortized Analysis
Moreover, we can also charge M
ULTIPOP
operations nothing. To pop the first
plate, we take the dollar of credit off the plate and use it to pay the actual cost of a
P
OP
operation. To pop a second plate, we again have a dollar of credit on the plate
to pay for the P
OP
operation, and so on. Thus, we have always charged enough
up front to pay for M
ULTIPOP
operations. In other words, since each plate on the
stack has
1
dollar of credit on it, and the stack always has a nonnegative number of
plates, we have ensured that the amount of credit is always nonnegative. Thus, for
any
sequence of
n
P
USH
, P
OP
, and M
ULTIPOP
operations, the total amortized cost
is an upper bound on the total actual cost. Since the total amortized cost is
O.n/
,
so is the total actual cost.

Download 4,84 Mb.

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