Algoritma adalah rangkaian langkah logis yang tersusun berurutan untuk menyelesaikan suatu masalah atau mencapai hasil tertentu. Algoritma bersifat abstrak dan dapat diterjemahkan ke bahasa pemrograman mana pun. Sebuah algoritma yang baik jelas, berhingga, dan menghasilkan keluaran yang benar untuk setiap masukan yang valid. Kualitas algoritma sering diukur dari efisiensi waktu dan penggunaan memori. Contoh klasik meliputi algoritma pengurutan, pencarian, dan penelusuran data.
Algoritma menentukan seberapa cepat dan hemat sumber daya sebuah program bekerja, terutama saat menangani data dalam jumlah besar.
Untuk mencari nama dalam daftar terurut, algoritma pencarian biner memeriksa elemen tengah lalu memangkas separuh data yang tidak relevan, sehingga jauh lebih cepat daripada memeriksa satu per satu.