Algoritma Kavramı Nedir?
Algoritma kavramı nedir ?
Bu bölümde temel olarak algoritma kavramı konusunu işleyeceğiz. Algoritmanın ne olduğunu, tarihçesini, algoritmayla ilgili kavramları işleyeceğiz. Böylece algoritmanın ne olduğunu ve ne olmadığını kafamızda iyice belirginleştirecek ve algoritmaları nerelerde kullanacağımızı kavrayacağız.
Algoritma
Algoritma, 800’lü yıllarda yaşamış olan Acem matematikçi Hârizmî ya da tam adıyla Ebû Ca’fer Muhammed bin Mûsâ el-Hârizmî’nin yaptığı çalışmalarda ortaya konmuştur. 12. yüzyılda bu çalışmalar Latince’ye çevrilirken, çalışmaların sahibi olan el-Hârizmî’nin adından ötürü yaptığı bu çalışma algorithm olarak çevrilmiştir. Bu kelime Türkçe’ye ise algoritma olarak girmiştir.Tarihçesinden de görüleceği üzere algoritma, bilgisayar dünyasına girmeden önce, matematik alanındaki problemlerin çözümü için kullanılmaktaydı. Daha sonra bilgisayarların geliştirilmesiyle bu alandaki problemlerin çözümünde de kullanılmaya başladı.
Algoritma, en basit ifadeyle, bir problemi çözmek için takip edilecek sonlu sayıda adımdan oluşan bir çözüm yoludur. Algoritmanın temel özellikleri şunlardır:
- Kesinlik: Algoritma içindeki adımlar herkes tarafından aynı şekilde anlaşılabiliyor olmalı, farklı anlamlara gelebilecek bulanık ifadeler içermemelidir.
- Sıralı olma: Her algoritma için bir başlangıç durumu söz konusudur. Çözüm, bu başlangıç durumu göz önünde bulundurularak gerçekleştirilir. Adımların hangi sırada gerçekleştirileceği çok önemlidir ve net bir şekilde belirtilmelidir.
- Sonluluk: Algoritma sonlu sayıda adımdan oluşmalı, sınırlı bir zaman diliminde tamamlanmalıdır. Her algoritmanın bir son noktası, bitişi olmalıdır.
Algoritma Örnekleri 1
Şimdi algoritmanın tanımını ve özelliklerini günlük yaşamdan basit bir örnekle pekiştirelim. Diyelim ki araç trafiği olan bir yolda karşıya geçmek istiyoruz. Bu durumda çözmemiz gereken problem (buna yapılması gereken iş de diyebiliriz) karşıya geçmektir. O zaman bu problemin çözümü için bir yol bulmamız gerekiyor.
Şöyle bir ifadeye ne dersiniz?
Önce araba var mı kontrol et, ardından yürü!
Bu ifade özünde doğrudur. Ancak yeterince açık değildir. Bunu hayatında ilk defa karşıdan karşıya geçecek birine söylersek, kim bilir nasıl anlar?
-Yolun kenarına park etmiş araba var mı? Evet var. O zaman kaldırımdan yürüyeyim.
-Yolun kenarına park etmiş araba var mı? Hayır yok. O zaman yolun ortasından yola paralel yürüyeyim.
-Sol taraftan gelen araba var mı? Hayır yok. O zaman sola bakarak karşıya yürüyeyim.- ...
Bu böylece sürüp gider.
Evet, biz yetişkin ve eğitimli insanlar "Önce araba var mı kontrol et, ardından yürü"
ifadesinden verilmek istenen mesajı açıkça alırız. Ancak bilgisayarlar öyle değildir. Onları uzaydan gelmiş yaratıklar gibi düşünebiliriz. Hiçbir şey bilmezler. Ama onlara detaylı olarak verdiğimiz bütün emirleri yerine getirebilirler. İyi tarif edersek, her şeyi hızlıca anlayıp kolayca uygulayabilirler.
Algoritma Örnekleri 2
Şimdi problemi daha net ve kesin ifadelerle çözmeye çalışalım. Ama nereden başlayacağız? Evde miyiz? Trafik ışıklarının yanında mıyız? Yaya geçidinin önünde miyiz? Bu gibi durumlar önemlidir.
Bu örnekte yolun kenarındayız ve trafik ışığı yok. O zaman şöyle yapalım: Önce yürüyelim, sonra sola ve sağa bakalım (tabi eğer ezilmeden karşıya geçebildiysek). Olur mu? İşimiz şansa kalır. Eğer araba yoksa olur. Araba varsa ezilme ihtimalimiz var.
O zaman adımları gerçekleştirme sırası da önemli. Yolun kenarından başlayıp, önce sola bakmalı, gelen araba yoksa ya da karşıya geçebileceğimiz kadar uzak bir mesafedeyse sağa bakılmalı. Sağ tarafta da araç yoksa ya da gelen araç karşıya geçebilecek kadar yeterince uzak mesafedeyse karşıya yürünmeli.
Şimdi biraz daha iyi bir çözüm yolu bulmuş olduk. Peki, şuna ne dersiniz?
Bulunduğumuz tarafta, araç trafiği sağdan aktığı için, önce sola bakalım. Sonra da sağ taraftan araba geliyor mu diye sağa bakalım. Acaba biz sağa bakarken soldan gelen bir araba olmuş mudur diye şimdi tekrar sola bakalım. Bu arada ya sağdan bir araba geliyorsa! Tekrar sağa mı baksak. Ya soldan araba geliyorsa…
Gördüğünüz gibi yukarıdaki gibi düşünürsek sonsuz bir döngüye gireriz. Ya da “..araba yoksa, yürü!
” ifadesi gereği sonsuza kadar yürüyecek miyiz? Bu yüzden algoritmalar sonlu sayıda adımdan ve bir bitiş durumundan oluşmalıdır. Yoksa zaten problem çözülmüş olmaz. Yolun bu tarafında kala kalırız. Veya sonsuza kadar yürümeye devam ederiz.
Algoritma kavramı konusunu bu yazımızda gördük. Aşağıdaki linke tıklayarak Algoritma ve Programlama kategorisi altında bir çok içeriğe ulaşarak Algoritma ve Programalama bilginizi artırabilirsiniz. Ayrıca aşağıdaki Instagram logosuna tıklayarak bizi Instagram üzerinden de takip edebilirsiniz.
https://yazilimdelisi.com/category/programlama-dilleri/algoritma-ve-programlama/
Sosyal Medya Hesaplarımız

