Sebuah algoritma
rekursi yaitu
algoritma yang memanggil dirinya sendiri berulang kali sampai kondisi tertentu
tercapai, ini merupakan metode umum bagi pemrograman fungsional. Algoritma iteratif menggunakan
konstruksi berulang seperti pengulangan dan terkadang struktur data tambahan
seperti tumpukan untuk
menyelesaikan permasalahan. Beberapa permasalahan secara alami cocok dengan
satu implementasi atau lainnya. Sebagai contoh, Menara Hanoi dikenal
dengan implementasi rekursif. Setiap versi rekursif memiliki kesamaan (tapi
bisa lebih atau kurang kompleks) dengan versi iteratif, dan sebaliknya.
Logical
Sebuah algoritma bisa
dilihat sebagai logika deduksi terkontrol. Pernyataan ini
diekspresikan sebagai: Algoritma
= logika + kontrol. Komponen
logika mengekspresikan aksioma yang bisa digunakan dalam komputasi dan komponen
kontrol menentukan cara deduksi digunakan pada aksioma. Ini merupakan dasar
dari paradigma pemrograman
logika. Dalam bahasa pemrograman logika murni komponen kontrol
adalah tetap dan algoritma ditentukan dengan memberikan hanya komponen
logikanya. Daya tarik dari pendekatan ini adalah semantik elegan:
sebuah perubahan dalam aksioma memiliki perubahan dalam algoritma.
Serial,
paralel atau terdistribusi
Algoritma biasanya
dibicarakan dengan asumsi bahwa komputer menjalankan satu instruksi algoritma
setiap waktu. Komputer tersebut terkadang disebut dengan komputer serial. Rancangan
algoritma untuk
lingkungan tersebut disebut dengan algoritma serial, terbalik dengan algoritma
paralel atau algoritma terdistribusi. Algoritma paralel
memanfaatkan arsitektur komputer yang mana beberapa prosesor bisa mengerjakan
masalah di waktu yang sama, selain itu algoritma terdistribusi memanfaatkan
banyak mesin yang terhubung dengan jaringan. Algoritma paralel atau terdistribusi
membagi permasalahan menjadi banyak sub-masalah simetris atau asimetris dan
mengumpulkan hasilnya kembali. Konsumsi sumber pada algoritma tersebut tidak
hanya perputaran prosesor disetiap prosesor tapi juga daya komunikasi antara
prosesor. Algoritma pengurutan bisa diparalelkan secara efisien, tapi biaya
komunikasinya sangat mahal. Algoritma iteratif secara umum bisa diparalelkan.
Beberapa permasalahan tidak ada algoritma paralelnya, dan disebut dengan
permasalahan serial lahiriah.
Deterministik
atau non-deterministik
Algoritma deterministik menyelesaikan masalah dengan keputusan
yang tepat disetiap langkah dari algoritma sedangkan algoritma non-deterministik menyelesaikan masalah lewat penerkaan
walaupun penerkaan biasanya lebih akurat dengan menggunakan heuristik.
Tepat
atau perkiraan
Bila banyak algoritma
sampai pada solusi yang tepat, algoritma
perkiraan mencari
sebuah perkiraan yang terdekat dengan solusi benarnya. Perkiraan bisa
menggunakan baik strategi deterministik atau acak. Algoritma seperti itu
memiliki nilai guna untuk banyak permasalahan sulit.
Algoritma
quantum
Berjalan di model
realistik dari komputasi
quantum. Istilah ini biasanya digunakan untuk algoritma yang tampak
pada dasarnya quantum, atau menggunakan beberapa fitur penting komputasi
quantum seperti superposisi
quantum atau belitan
quantum.