Analisis algoritma adalah bidang ilmu komputer yang didedikasikan untuk memahami kompleksitas algoritma. Algoritma umumnya didefinisikan sebagai proses yang melakukan serangkaian operasi sampai akhir. Algoritma dapat diekspresikan dalam banyak cara, dalam diagram alir, bahasa alami, dan bahasa pemrograman komputer. Algoritma digunakan dalam matematika, komputasi dan linguistik, tetapi penggunaan yang paling umum adalah di komputer untuk melakukan perhitungan atau memproses data. Analisis algoritma berkaitan dengan algoritma yang ditulis dalam bahasa pemrograman komputer, yang didasarkan pada formalisme matematika
Algoritma pada dasarnya adalah seperangkat instruksi untuk komputer untuk melakukan perhitungan dengan cara tertentu. Misalnya, komputer akan menggunakan algoritme untuk menghitung gaji karyawan. Agar komputer dapat melakukan perhitungan, diperlukan data yang sesuai untuk dimasukkan ke dalam sistem, seperti tingkat upah karyawan dan jumlah jam kerja.
Lebih dari satu algoritma mungkin bekerja untuk melakukan operasi yang sama, tetapi beberapa algoritma menggunakan lebih banyak memori dan membutuhkan waktu lebih lama untuk melakukan daripada yang lain. Juga, bagaimana kita tahu seberapa baik algoritma bekerja secara umum, mengingat perbedaan antara komputer dan input data? Di sinilah analisis algoritma masuk.
Salah satu cara untuk menguji suatu algoritma adalah dengan menjalankan program komputer dan melihat seberapa baik kerjanya. Masalah dengan pendekatan ini adalah bahwa pendekatan ini hanya memberi tahu kita seberapa baik algoritma bekerja dengan komputer tertentu dan serangkaian input. Tujuan dari analisis algoritma adalah untuk menguji dan kemudian menarik kesimpulan tentang seberapa baik algoritma tertentu bekerja secara umum. Ini akan sangat sulit dan memakan waktu untuk dilakukan pada komputer individu, jadi peneliti merancang model fungsi komputer untuk menguji algoritme.
Secara umum, analisis algoritma paling berkaitan dengan mencari tahu berapa banyak waktu yang dibutuhkan sebuah program untuk berjalan, dan berapa banyak ruang penyimpanan memori yang dibutuhkan untuk menjalankan program. Secara khusus, ilmuwan komputer menggunakan analisis algoritme untuk menentukan bagaimana data yang dimasukkan ke dalam program memengaruhi total waktu berjalannya, berapa banyak ruang memori yang dibutuhkan komputer untuk data program, berapa banyak ruang yang dibutuhkan kode program di komputer, apakah algoritme menghasilkan yang benar. perhitungan, seberapa kompleks suatu program, dan seberapa baik program itu menangani hasil yang tidak diharapkan.