Algoritma adalah urutan instruksi yang tidak ambigu untuk memecahkan masalah, yaitu, untuk mendapatkan output yang diperlukan untuk setiap input yang sah dalam jumlah waktu yang terbatas [ Levitin, hal. 3].