Algoritme
Analisis dan kajian algoritme adalah bidang dari ilmu komputer, dan biasanya dilakukan secara abstrak tanpa menggunakan bahasa pemrograman tertentu atau implementasi.
Dalam artian, analisis algoritme mirip dengan bidang matematika lainnya yang mana fokus pada properti yang mendasari algoritme dan bukan pada implementasi tertentu.
Biasanya pseudokode digunakan pada analisis karena merupakan representasi paling umum dan sederhana.
Namun, pada akhirnya, kebanyakan algoritme diimplementasikan di perangkat keras / lunak tertentu dan efisiensi algoritmik mereka akhirnya diuji menggunakan kode yang sebenarnya.
Untuk solusi dari sebuah masalah, efisiensi dari algoritme tertentu mungkin tidak terlalu berpengaruh (kecuali n sangat besar) tetapi bagi algoritme yang dirancang untuk kecepatan interaktif, komersial, atau penggunaan ilmiah jangka panjang ia bisa saja kritikal.
Meningkatkan n dari kecil ke n yang besar biasanya menunjukan ketak efisienan algoritme yang tidak berbahaya.
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.