Là một bài kiểm tra về các thuật toán và độ phức tạp, tôi hiện đang giải các bài tập cũ. Một khái niệm tôi đã phải vật lộn khi lần đầu tiên bắt gặp nó là khái niệm phân tích khấu hao. Phân tích khấu hao là gì và làm như thế nào? Trong các ghi chú bài giảng của chúng tôi, có tuyên bố rằng "phân tích khấu hao đưa ra giới hạn cho" thời gian trung bình "cần thiết cho hoạt động nhất định và nó cũng có thể đưa ra một ràng buộc cho trường hợp xấu nhất". Điều đó nghe có vẻ thực sự hữu ích nhưng khi nói đến các ví dụ, tôi không biết mình phải làm gì và thậm chí sau khi đọc giải pháp mẫu, tôi không biết họ đang làm gì.
Chúng ta hãy thêm 1 vào cơ sở 2, tức là 0, 1, 10, 11, 100, 101, 110, 111, 1000, ... Sử dụng phân tích khấu hao, cho thấy rằng trong mỗi bước chỉ cần khấu hao liên tục nhiều bit cần phải thay đổi.
(bài tập ban đầu bằng tiếng Đức, vì vậy tôi xin lỗi vì bản dịch có thể không hoàn toàn chính xác của tôi)
Bây giờ giải pháp tiêu chuẩn đầu tiên xác định cho một số hằng . Tôi nghĩ rằng đây là cái được gọi là hàm tiềm năng bằng cách nào đó tương ứng với các đơn vị thời gian quá mức (nhưng tôi không biết tại sao tôi lại đưa ra định nghĩa cụ thể này). Giả sử rằng chúng ta phải thay đổi bit trong Bước thứ. Một bước như vậy luôn luôn có hình thức
Tuyên bố này là dễ hiểu đối với tôi, tuy nhiên một lần nữa tôi không thấy động lực đằng sau nó. Sau đó, không biết từ đâu, họ nghĩ ra cái mà họ gọi là "ước tính"
và họ tuyên bố rằng , chúng tôi nhận được đó là những gì chúng tôi đã phải thể hiện.
Chuyện gì vừa xảy ra vậy? Những gì là? Tại sao chúng ta có thể chọn? Nói chung, nếu tôi phải chỉ ra rằng trong mỗi bước chỉ cần khấu hao liên tục thì cần có "đơn vị thời gian", điều đó có nghĩa là tôi phải chứng minh rằng là hằng số?
Có một vài bài tập khác liên quan đến phân tích khấu hao và tôi cũng không hiểu chúng. Tôi nghĩ nếu ai đó có thể giúp tôi với bài này, tôi có thể thử các bài tập khác và có thể điều đó sẽ giúp tôi thực sự nắm bắt được khái niệm này.
Cảm ơn rất nhiều trước cho bất kỳ sự giúp đỡ.