Apa itu Analisis Amortisasi? Dan bagaimana itu bisa membantu saya mencapai jaminan kinerja terburuk dalam program saya?
Saya membaca bahwa teknik-teknik berikut ini dapat membantu programmer mencapai jaminan kinerja terburuk (yaitu dengan kata-kata saya sendiri: menjamin bahwa waktu menjalankan suatu program tidak akan melebihi waktu berjalan dalam pemeran terburuk):
- Algoritma acak (misalnya algoritma quicksort kuadrat dalam kasus terburuk, tetapi memesan input secara acak memberikan jaminan probabilistik bahwa waktu yang berjalan adalah linearitmik)
- Urutan operasi (analisis kami harus memperhitungkan data dan urutan operasi yang dilakukan oleh klien)
- Analisis Amortisasi (cara lain untuk memberikan jaminan kinerja adalah dengan mengamortisasi biaya, dengan melacak total biaya semua operasi, dibagi dengan jumlah operasi. Dalam pengaturan ini, kami dapat memungkinkan beberapa operasi mahal, sambil menjaga biaya rata-rata operasi yang rendah. Dengan kata lain, kami menyebarkan biaya beberapa operasi yang mahal, dengan menugaskan sebagian untuk masing-masing sejumlah besar operasi yang tidak mahal)
Penulis menyebutkan penggunaan mengubah ukuran struktur data array untuk Stack sebagai salah satu contoh bagaimana mencapai analisis diamortisasi tapi saya masih tidak mengerti apa itu analisis diamortisasi, dan bagaimana sebenarnya dapat diimplementasikan (struktur data? Algoritma?) Untuk mencapai yang terburuk Jaminan kinerja -cast
sumber