Algoritme
"Algoritme terhadap fungsi yang dapat dihitung oleh algoritme": Untuk sebuah fungsi bisa ada beberapa algoritme.
Hal ini benar, bahkan tanpa mengembangkan kumpulan instruksi yang ada bagi programmer.
Rogers mengamati bahwa "Sangat ... penting untuk membedakan antara pengertian "algoritme", misalnya prosedur dan pernyataan "fungsi yang dihitung oleh algoritme", misalnya pemetaan hasil dari prosedur.
Fungsi yang sama bisa memiliki beberapa algoritme berbeda".
Sayangnya ada pertukaran antara kebaikan (kecepatan) dan elegan (kepadatan) -- sebuah program yang elegan bisa melakukan lebih banyak langkah untuk menyelesaikan sebuah komputasi daripada yang kurang elegan.
Sebuah contoh yang menggunakan algoritme Euclid bisa dilihat di bawah.
Masalah jarak terpendek
Jika merepresentasikan mesin abstrak nondeterministik dengan graf dimana busur dideskripsikan sebagai keadaan dan node dideskripsikan transisi yang mungkin, algoritme jarak terpendek dapat digunakan untuk mencari sekuens optimal dari berbagai pilihan untuk mencapai keadaan yang dituju, atau untuk mendirikan batas bawah dari waktu yang dibutuhkan untuk mencapai keadaan yang diberikan. Sebagai contoh, jika busur merepresentasikan keadaan dari puzzle seperti kubik rubik dan tiap node yang dituju berhubungan ke pergerakan tunggal atau belokan, algoritme jarak terpendek dapat digunakan untuk mencari solusi yang menggunakan pergerakan minimum yang memungkinkan.