Algoritma, bir sorunu çözmek ya da belirli bir amaca ulaşmak amacıyla tasarlanan yol, takip edilen işlem basamakları olarak tanımlanabilir. Algoritmalar açıkça belirtilmiş bir başlangıcı ve sonu bulunan işlemler kümesidir.
Algoritma, belirlenen bir amaca ulaşmak için izlenecek çözüm yolları ve sıralamaları belirleyen ve bu sırayı takip ederek en mantıklı çözüme ulaşmayı amaçlayan sistemlerdir. İlk algoritma, El-Harezmi’nin ‘Hisab-el Cebir ve El Mukabala’ kitabında ortaya çıkmıştır ve algoritma kelimesi de El-Harezmi’nin isminden gelmiştir. Algoritma terimi genellikle matematikte ve bilgisayar bilimlerinde sıklıkla karşımıza çıkmaktadır.
Algoritma Niçin Kullanılır? Ne İşe yarar?
Algoritma matematikte bir sonuca ulaşmak için takip edilmesi gereken işlem basamaklarını belirlemede kullanılmaktadır. Örneğin, 3 ve 5 sayılarının ortalamasını bulmak istediğinizde önce (3+5) işlemini yapmanız ardından da “çıkan sonuç/2” işlemini uygulamanız gerekmektedir.
Bilgisayar biliminde algoritmalar yazılımın hemen hemen her noktasında aktif bir şekilde kullanılmaktadır. Örneklendirecek olursak, bilgisayarda offline olarak yapılan tüm işlemler, oynanan oyunlar, çalıştırılan programlar, web siteleri, mobil uygulamalar, robotlar… Kısacası sanal ortamdaki her işlem algoritmalar ile gerçekleşmektedir.
Algoritma ve Programlama Bağlantısı
Tüm programlama dillerinin temelinde algoritma bulunmaktadır. Algoritmalar, programlama dillerinin vasıtasıyla uygulanabilmektedir. Programda kullanılan dil ve kullanım alanı ne olursa olsun algoritması olmayan bir program olamaz. Programda bir algoritmanın işlemesi için dışarıdan gelen tüm girdiler “değişken” olarak tanımlanır ve algoritmadaki döngüler ve işlemler, bu değişkenler üzerinden gerçekleştirilir. Algoritmadaki tüm ihtimaller belirlenmiş ve net olmalıdır. Hiçbir ihtimal şansa bırakılmamalıdır.
Akış Diyagramları/Şemaları
Her algoritma kağıt üzerine yazılabilecek kadar basit olmalıdır. Algoritmalar metin olarak düz yazı ile ya da akış diyagramları ile gösterilebilir. Akış diyagramları, algoritmanın işleyişini neden-sonuç ilişkisini göstererek sırayla aktarılmasını sağlamaktadır.