Bài giảng Phân tích thiết kế giải thuật: Chương 2 - ĐH Bách khoa

Bài giảng Phân tích thiết kế giải thuật: Chương 2 được biên soạn nhằm trang bị cho các bạn những kiến thức về phân tích khấu hao với những nội dung chính như phương pháp để xác định phí tổn khấu hao (phương pháp gộp chung; phương pháp kế toán; phương pháp thế năng). | Phân Tích Khấu Hao Ch. 2: Amortized Analysis Phân tích khấu hao Gọi T(n) là thời gian cần thiết để thực thi một chuỗi n thao tác lên một cấu trúc dữ liệu. Ví dụ: thực thi một chuỗi PUSH, POP, MULTIPOP lên một stack. Phân tích khấu hao (amortized analysis): Thời gian thực thi một chuỗi các thao tác được lấy trung bình trên số các thao tác đã thực thi, T(n)/n , được gọi là phí tổn khấu hao. (Đây chỉ là một trong các định nghĩa của phí tổn khấu hao, các định nghĩa khác sẽ được trình bày trong các phần sau.) Ch. 2: Amortized Analysis Sơ lược Ba phương pháp để xác định phí tổn khấu hao: Phương pháp gộp chung (the aggregate method) Phương pháp kế toán (the accounting method) Phương pháp thế năng (the potential method) Sẽ minh họa các phương pháp trên thông qua việc phân tích các cấu trúc dữ liệu: stack bộ đếm nhị phân có k bits bảng động. Ch. 2: Amortized Analysis Cấu trúc dữ liệu stack Các thao tác lên một stack S PUSH(S, x) POP(S) MULTIPOP(S, k) MULTIPOP(S, k) 1 while not STACK-EMPTY(S) and k 0 2 do POP(S) 3 k k 1 Ch. 2: Amortized Analysis Bộ đếm nhị phân có k bit Bộ đếm nhị phân có k-bit (k-bit binary counter) là một mảng A[0k - 1] của các bit có độ dài, length[A], là k Dùng bộ đếm để trữ một số nhị phân x: x = A[k - 1] 2k - 1 + + A[0] 20 Để cộng 1 vào trị đang có trong bộ đếm (modulo 2k), ta dùng thủ tục sau INCREMENT(A) 1 i 0 2 while i Phân tích một stack Bài toán: xác định thời gian chạy của một chuỗi n thao tác lên một stack (ban đầu stack là trống). Giải: Bằng phân tích “thô sơ” Phí tổn trong trường hợp xấu nhất của MULTIPOP là O(n). Vậy phí tổn trong trường hợp xấu nhất của một thao tác bất kỳ lên stack là O(n). Do đó phí tổn của một chuỗi n thao tác là O(n2). Nhận xét: Chận O(n2) tìm được là quá thô. Tìm chận trên tốt hơn! Dùng phương pháp khấu hao. Ch. 2: . | Phân Tích Khấu Hao Ch. 2: Amortized Analysis Phân tích khấu hao Gọi T(n) là thời gian cần thiết để thực thi một chuỗi n thao tác lên một cấu trúc dữ liệu. Ví dụ: thực thi một chuỗi PUSH, POP, MULTIPOP lên một stack. Phân tích khấu hao (amortized analysis): Thời gian thực thi một chuỗi các thao tác được lấy trung bình trên số các thao tác đã thực thi, T(n)/n , được gọi là phí tổn khấu hao. (Đây chỉ là một trong các định nghĩa của phí tổn khấu hao, các định nghĩa khác sẽ được trình bày trong các phần sau.) Ch. 2: Amortized Analysis Sơ lược Ba phương pháp để xác định phí tổn khấu hao: Phương pháp gộp chung (the aggregate method) Phương pháp kế toán (the accounting method) Phương pháp thế năng (the potential method) Sẽ minh họa các phương pháp trên thông qua việc phân tích các cấu trúc dữ liệu: stack bộ đếm nhị phân có k bits bảng động. Ch. 2: Amortized Analysis Cấu trúc dữ liệu stack Các thao tác lên một stack S PUSH(S, x) POP(S) MULTIPOP(S, k) .

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.