Chúng tôi đưa ra de chung Định nghĩa giới hạn thời gian khấu hao? Và khấu hao phân tích. Chúng tôi
khuyên bạn nên đọc phần này một cách nhanh chóng và trở về với nó khi cần thiết. Chúng ta
hãy xem xét một cấu trúc dữ liệu tùy ý. Các giá trị của tất cả các biến chương trình bao gồm
các trạng thái của cấu trúc dữ liệu; chúng tôi sử dụng S để biểu thị tập hợp của các quốc gia. Trong ví dụ
của phần trước, trạng thái của cấu trúc dữ liệu của chúng tôi được hình thành bởi các giá trị của n,
w, và b. Cho s
0
là trạng thái ban đầu. Trong ví dụ của chúng tôi, chúng tôi có n = 0, w = 1, và
b một mảng có kích thước một trong các trạng thái ban đầu. Chúng tôi có các hoạt động để chuyển đổi dữ liệu
cấu trúc. Trong ví dụ của chúng tôi, chúng tôi đã có các hoạt động pushback, popBack, và tái allo c ăn.
Việc áp dụng các hoạt động X trong một của nhà nước biến đổi cấu trúc dữ liệu vào một mới
nhà nước s
0
và có giá TX (s). Trong ví dụ của chúng tôi, chi phí của một Pushback hoặc popBack là 1
không bao gồm chi phí của các cuộc gọi có thể để lại allo c ăn. Chi phí của một cuộc gọi lại allo c ăn (¯ n)
là £ (n).
Hãy F là một chuỗi các hoạt động Op
1
, Op
2
, Op
3
,. . . , Op
n
. Bắt đầu từ
trạng thái ban đầu s
0, F đưa chúng ta qua một chuỗi các tiểu bang để một tội nào nhà nước không?
n
:
s
0
Op
1
¡! s
1
Op
2
¡! s
2
Op
3
¡! ¢ ¢ ¢
Op
n
¡! s
n
:
Chi phí T (F) của F được đưa ra bởi
T (F) =
X
1 · i · n
T
Op
i
(s
i ¡1):
Một gia đình của các chức năng AX (s), một cho mỗi hoạt động X, được gọi là một gia đình giới hạn thời gian khấu hao nếu với mọi dãy F các hoạt động:
T (F) · A (F): = c +
X
1 · i · n
AOP
tôi
(s
i ¡1)
đối với một số không đổi c không phụ thuộc vào F, ví dụ, đến một hằng số phụ gia tổng
thời gian thực hiện thực tế được bao bọc bởi tổng thời gian thực hiện khấu hao.
72 3 Đại diện Thứ tự của mảng và danh sách liên kết
luôn luôn là một cách tầm thường để de ne một gia đình giới hạn thời gian khấu hao, cụ thể là?
AX (s): = TX (s) cho tất cả các s. Thách thức là để? Thứ một gia đình của các chức năng đơn giản
AX (s) tạo thành một gia đình giới hạn thời gian khấu hao. Trong ví dụ của chúng tôi, các chức năng
ApushBack
(s) = ApopBack
(s) = A [¢] (s) = O (1) và Areallo cate
(s) = 0 cho tất cả các s
hình thành một gia đình giới hạn thời gian khấu hao.
Tiềm năng hoặc Ngân hàng Phương pháp tài khoản cho phân bổ Phân tích
Bây giờ chúng ta chính thức hóa các kỹ thuật được sử dụng trong phần trước. Chúng tôi có một chức năng
p ot rằng liên kết một tiềm năng không âm với tất cả các bang của cấu trúc dữ liệu,
ví dụ, trang ot: S ¡!
✁
¸ 0. Chúng ta gọi là p ot (s) tiềm năng của của nhà nước hoặc sự cân bằng của
tài khoản tiết kiệm khi cấu trúc dữ liệu ở trạng thái s. Nó đòi hỏi sự khéo léo đến
với một chức năng p ot thích hợp. Đối với một X hoạt động chuyển trạng thái s vào
một trạng thái s
0
và có chi phí TX (s), chúng tôi de? ne AX chi phí khấu hao (s) là tổng của
sự thay đổi tiềm năng và chi phí thực tế, tức là, AX (s) = p ot (s
0
) ¡p ot (s) + TX (s).
Các chức năng thu được theo cách này tạo thành một gia đình giới hạn thời gian khấu hao.
Định lý 8 (Phương pháp tiềm năng). S là tập hợp các trạng thái của một cấu trúc dữ liệu, chúng ta hãy
s
0
là trạng thái ban đầu, và để cho p ot: S ¡
✁
¸ 0
là một chức năng không âm. F hoặc một
hoạt động X và một nhà nước s với s
X
¡! s
0
? de ne
AX (s) = p ot (s
0
) ¡p ot (s) + TX (s):
Sau đó, các chức năng AX (s) là một gia đình giới hạn thời gian khấu hao.
Bằng chứng. Một tính toán rừng đặc dụng ngắn? CES. Xem xét một chuỗi F = hop
1
; :::; Op
n
i của
hoạt động. Chúng ta có:
X
1 · i · n
AOP
tôi
(s
i ¡1) =
X
1 · i · n
(p ot (s
i) ¡p ot (s
i ¡1) + T
Op
i
(s
i ¡1) )
= p ot (s
n
) ¡p ot (s
0) +
X
1 · i · n
T
Op
i
(s
i ¡1)
¸
X
1 · i · n
T
Op
i
(s
i ¡1) ¡p ot (s
0);
từ p ot (s
n
) ¸ 0 Như vậy T (F) · A (F) + p ot (s.
0).
Hãy để chúng tôi xây dựng các phân tích của các mảng không bị chặn trong các ngôn ngữ trên. Các
trạng thái của một mảng không bị chặn được đặc trưng bởi các giá trị của n và w. Sau
tập 39, tiềm năng trong nhà nước (n; w) là tối đa (3n ¡w; w = 2). Các chi phí thực tế T
của pushback và popback là một và chi phí thực tế của việc tái allo c ăn (¯ n) là n. Các
tiềm năng của trạng thái ban đầu (n; w) = (0, 1) là 1 = 2. Một Pushback tăng n bởi một
và do đó làm tăng khả năng ít nhất ba. Do đó chi phí khấu hao của nó được bao bọc
bởi bốn. Một popBack giảm n bởi một và do đó không làm tăng tiềm năng của nó.
do đó chi phí khấu hao của nó là nhiều nhất một. Các phân bổ lại tiên? Xảy ra khi dữ liệu
đang được dịch, vui lòng đợi..