Kısaca ifade edecek olursak algoritma, bir eylem dizisini tanımlayan bir grup adımdır. Belirli bir hedefe ulaşmak veya belirli bir sorunu çözmek için tasarlanmış bir dizi komut olarak da tanımlanabilir. Algoritmalar en çok matematik ve bilgisayar bilimleri alanlarında kullanılır ve incelenir, fakat biyolojik sinir ağları ve elektronik cihazlar gibi başka bağlamlarla da ilişkili olabilirler.
Bilgisayar bilimlerinde bir algoritma, çeşitli görevleri yerine getirmek için bilgisayar programlarını yürüten bir dizi net talimattan oluşur. İki sayıyı çıkarmak gibi basit bir eylemi veya iki ya da daha fazla coğrafi konum arasındaki en iyi rotayı bulmak gibi daha karmaşık işlemleri gerçekleştirmek üzere tasarlanabilirler. Dolayısıyla, bilgisayar algoritmaları hesaplamalardan veri işlemeye hatta karar vermeye kadar her türlü görevi gerçekleştirmek için son derece kullanışlıdır.
Tüm algoritmalar, girdilere ve önceden tanımlanmış adımlara göre çıktılar üreten sabit bir başlangıç ve bitiş noktasından oluşur. Daha karmaşık görevleri gerçekleştirmek için birden fazla algoritma birleştirilebilir, fakat karmaşıklığın daha yüksek olması aynı zamanda daha fazla hesaplama kaynağı da gerektirir.
Algoritmalar, doğrulukları ve verimlilikleriyle ölçülebilir. Doğruluk, algoritmanın kesinliğini ve belirli bir sorunu çözüp çözemeyeceğini ifade eder. Verimlilik, bir algoritmanın belirli bir görevi yerine getirmek için ihtiyaç duyduğu kaynak miktarı ve zamanla ilişkilidir. Birçok bilgisayar mühendisi, üzerinde çalıştıkları programlama dili veya donanımdan bağımsız olarak farklı algoritmaları karşılaştırmak için asimptotik olarak bilinen bir matematiksel analiz tekniği kullanır.