Analisis Algoritma E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan Kuliah 1 : Complexity and proof induction 27 Februari 2010 21-Nov-18
Jenis algoritma Divide and conquer : menyederhanakan problem yang besar. Greedy methode : mencari yang optimal pada saat itu. Algoritma : jumlah langkah yang berhingga (finite) instruksinya jelas Contoh : for i do 10 then .....
Tujuan analisis algoritma Efisiensi waktu Efisiensi storage
Analisis algoritma Menentukan karakteristik kinerja (memprediksi sumber daya) Mengapa ? Memilih algoritma yang paling efisien dari beberapa alternatif penyelesaian untuk kasus yang sama Mencari waktu yang terbaik untuk keperluan praktis Apakah algoritma itu optimal untuk beberapa kasus atau ada yang lebih baik
Runing time In fungsi dari input size Memanggil instruksi sederhana dan mengakses ke memory word sebagai “primitive operation” atau “step” Jumlah step eksekusi algoritma pada input tersebut Dikenal juga “complexity and input”
Kompleksitas tergantung Ukuran input bergantung pada problem Misalkan jumlah data yang diurutkan Karakter lain dari input Apakah data sudah terurut Apakah ada lingkaran dalam grafik
Kompleksitas Worst-case : kompleksitas waktu untuk waktu terburuk (waktu tempuh bernilai maksimum dari suatu fungsi f(n)) atau Tmax(n) Best-case : kompleksitas waktu untuk waktu terbaik (kompleksitas waktu yang bernilai minimum dari suatu fungsi f(n)) atau Tmin(n) Average-case : kompleksitas waktu untuk kasus rata-rata