Algoritma Nedir?

Furkan Zerman
Stingy Developer
Published in
3 min readFeb 24, 2021

Günümüzde birçok teknolojik cihaz kullanıyoruz. Bunlar arasında telefon, bilgisayar, tablet ve daha sayamayacağım kadar cihaz var. Bu cihazlar çalışmak için hepimizin bildiği gibi karar mekanizması olan işlemcilere ihtiyaç duyar. İşlemcilere ne yapması gerektiği yazılımcılar tarafından kodlama dilleri yardımıyla söylenir. Bunları söylerken takip edilen disipline algoritma diyoruz. Bugünkü yazımda da algoritma ile ilgili birçok sorunun cevabını vermeye çalışacağım.

Peki, bu yazıda neler var?

  • Algoritma nedir?
  • Algoritma ne işe yarar?
  • Algoritma gösterim şekilleri
  • Algoritma nasıl yazılır?

Nedir?

Sözlükte algoritma, belirli bir problemi çözmek için tasarlanan yol anlamına geliyor. Algoritmayı günlük hayatta işlerimizi hallederken bolca kullansak da fark edemiyoruz. En basit yolla anlatmak istersek, karşıdan karşıya yaya geçidinden geçerken yaptığımız hareketleri düşünelim. Bunları sıralamak istersek;

  • Sola bak
  • Sağa bak
  • Tekrar sağa bak
  • Eğer araba geçmiyorsa ilerle

Bu bir algoritmadır ve birçok program yazılırken bu şekilde bir komuta zincirine uyularak yazılır. Kodlamada olduğu gibi matematikte de bizi karşılayan algoritma, matematikte ise sonlu işlemler kümesi yani belirli bir başlangıçtan, belirli bir sona giden işlemler olarak tanımlanır.

Peki, cidden bu kadar önemli mi? Algoritma olmadan da program yazamaz mıyız?

Algoritma ne işe yarar?

Program yazarken programlama dillerindeki komutları kullanarak derdimizi işlemciye anlatmaya çalışırız. Eğer vereceğimiz komutlar ne kadar açık ve düzgün olursa işlemciye derdimizi de o kadar hızlı anlatırız ve aldığımız dönüt de o kadar hızlı olur. Günlük hayattan örnek vermek gerekirse Youtube size önerilen videoları gösterirken sizin istatiksel olarak ne tür videolar izlediğinize göre onlarla benzer kategorideki videoları da önerilen video olarak gösterir. Diğer bir örnek olarak Instagram’ı verebiliriz. Keşfette önünüze gelen birçok resim ve video genelde arkadaşlarınızın beğendiği ya da onlarla benzer kategorideki fotoğraflardır. Bu iki örnek gelişmiş algoritmalara örnektir.

Tüm programlama dillerinin temelinde algoritma vardır. Algoritmaları, programlama dillerinin yardımıyla uygularız. Programda kullanılan dil ve kullanım alanı ne olursa olsun algoritması olmayan bir program yoktur. Programda bir algoritmanın işlemesi için dışarıdan gelen tüm girdileri “değişken” olarak tanımlarız. Bu değişkenler bellekte yer tutar ve algoritmadaki döngüler ve işlemler, bu değişkenler üzerinden gerçekleşir.

Bu da tamamdır. Peki, yazacağım algoritmayı nasıl kâğıt üstüne aktarabilirim?

Algoritma gösterim şekilleri

Algoritma, genel olarak 2 şekilde kâğıt üzerine aktarılır. Bunlardan birincisi ve en anlaşılır olanı şema yöntemidir. Akış diyagramı olarak da geçen bu yöntemde komutlar kutucuklar içine yazıldıktan sonra sebep-sonuç ilişkisine göre oklarla bağlantılar yapılır. Eğer bu tanımla kafanız karıştıysa aşağıdaki örnekle daha iyi anlayabilirsiniz.

Diğeri olan düz yazı ise direk komutların 1,2,3 şeklinde sırayla yazıldığı şekildir. Büyük programlarda kafa karışıklığı olabileceğinde dolayı çok tercih edilmese de kısa programlarda tercih edilebilir.

Örnek: Basit hesap makinesi algoritması

  • İlk sayıyı gir
  • İşlemi seç(toplama, çıkarma, çarpma, bölme)
  • İkinci sayıyı gir
  • 2. adımda seçilen işleme göre işlemi uygula
  • Sonucu ekrana yazdır
  • 1. adım için sıfırlan

Nasıl yazılır?

Yazacağımız programın algoritmayı anlaşılır ve düzgün bir şekilde yazmak için bazı maddelere dikkat etmemiz gerekir. Bunlar;

  • Başlangıç ve bitiş noktalarını çok iyi belirlemeliyiz.
  • Sebep-sonuç ilişkilerini belirlerken bunları programın amacına hizmet edecek şekilde bir komuta zinciri oluşturmalıyız.
  • Gereksiz komutlara ya da amacın dışına çıkan komutlara yer vermemeliyiz.
  • Algoritmadaki tüm ihtimaller belirtilmiş ve net olmalıdır. Hiçbir ihtimal şansa bırakılmamalıyız.

Şimdi bu maddeleri de dikkate alarak Youtube’un algoritmasını basit bir şekilde yazalım.

  • Kullanıcın izlediği videoların türlerini belirle
  • Hangi kategoride ne kadar video izlendiğinin sayısını hesapla
  • Toplam izlenen video sayısına göre hangi kategoriye ne kadar önem verildiğinin yüzdesini çıkar
  • En çok hangi kategoride video izleniyorsa o tür videolardan önerilenlere daha fazla koy
  • Her video izlendiğinde 1. adıma geri dön ve tekrar hesapla

Websitemizi de ziyaret etmeyi unutmayın…

--

--