Algoritmalar, çeşitli alanlarda, bilgisayar programcılığı, matematik ve günlük yaşamda yaygın olarak kullanılabilir.
Bir algoritma belirtilen eylemlerin bir dizisini yürütmeye dayanarak bir problemi çözmek için bir prosedür veya formüldür. Bir bilgisayar programı ayrıntılı bir algoritma olarak görülebilir. Matematik ve bilgisayar bilimlerinde, bir algoritma genellikle tekrarlayan bir problemi çözen küçük bir prosedür anlamına gelir.
Bir algoritma tanımının aşamaları, algoritmanın geliştirilmesinin hangi problemine bağlı olarak dallanma veya tekrarlama içerebilir. Bir algoritma tanımlarken, adımlar insan tarafından anlaşılabilir bir dille ve herhangi bir programlama dilinden bağımsız olarak yazılmıştır. İstediğimiz herhangi bir programlama dilinde uygulayabiliriz.
Algoritmalar, Bilgi Teknolojilerinin tüm alanlarında yaygın olarak kullanılmaktadır. Örneğin, bir arama motoru algoritması, anahtar sözcüklerin ve operatörlerin arama dizgilerini girdi olarak alır, ilişkili veritabanlarını ilgili web sayfaları için arar ve sonuçları döndürür.
Bir şifreleme algoritması, verileri korumak için belirtilen işlemlere göre dönüştürür. Örneğin ABD Savunma Bakanlığı Veri Şifreleme Standardı (DES) gibi gizli bir anahtar algoritması, verileri şifrelemek ve şifresini çözmek için aynı anahtarı kullanır. Algoritma yeterince karmaşık olduğu sürece, anahtarın bulunmadığı hiç kimse verilerin şifresini çözemez.
Algoritma kelimesi Bağdat'taki kraliyet mahkemesinin bir parçası olan ve yaklaşık 780'den 850'ye kadar yaşayan matematikçi Muhammed ibn-Musa el-Hwarizmi'den geliyor.