bylge-logo

    Bylge

    Algoritma Nedir? Algoritma Örnekleri

    Algoritma saf anlamıyla, sonlu sayıda adım kullanarak bir problemi matematiksel olarak çözme sürecidir. Bilgisayarda ise kompleks görevleri yerine getirebilmesi

    Picture of the teknomatik

    teknomatik

    @teknomatik

    Algoritma saf anlamıyla, sonlu sayıda adım kullanarak bir problemi matematiksel olarak çözme sürecidir. Bilgisayarda ise kompleks görevleri yerine getirebilmesi için gerekli olan kurallar ve talimatlar bütünüdür. Algoritma tanımını daha da basitleştirmek gerekirse, bilgisayara ne yapmanız gerektiğini söylemenizdir.


    Problemleri çözmek veya bir işi yerine getirmek için adım adım oluşuturulan kod blokları veya talimat serileri algoritmayı oluşturur. Bilgisayarın yapmakta sorumlu olduğu veri manipülasyonu ve tahminleme gibi farklı işleri kesin ve bir seri şeklinde kendilerine verilen algoritmalar sayesinde yerine getirirler. Bilgisayara kod yazmaya başlamadan önce algoritmaların sağlam olarak oturtulması ve daha sonra herhangi bir değişiklik yapmadan net çizgilerle akış şemasının çıkarılması önemlidir.


    Algoritmayı daha fazla detaylandırmaya geçmeden önce bu kelimenin nereden geldiğini bilmekte yarar var. Algoritma, 780 - 850 yılları arasında Bağdat kraliyet ailesinin bir üyesi olan matematik, gökbilim, çoğrafya ve algoritma gibi çok farklı bilim dalında büyük buluşları imza atan Hârizmî tarafından yazılmış Algebra kitabından türetilmiştir.


    Algoritma_Nedir?_Algoritma_Örnekleri


    Bilgisayarlardaki masa üstü programları ve akıl cep telefonlarımızdaki uygulamalar detaylı diyebileceğimiz algoritma örnekleridir. Bilgisayar biliminde algoritmalar bir görevi yerine getirmek için sil sile şeklinde kullanılan talimatlarken, matematikte ise tekrarlı problemleri çözmek için kullanılan prosedürlerdir.


    Algoritmalar, veri girişi-veri çıkışı gibi bir basit mantık üzerine kuruludur. Buradan algoritmaların basit olduğu anlamı çıkarılmamalıdır. Örneğin, arama motorları algoritmaları; arama sorgularınızı alarak kendi yapay zeka veya gelişmiş algoritmalarına input olarak verir ve veri tabanında bu aramayla(input - veri girişi) ilişkili sonuçları size dönerler.


    Algoritmaya verilen input değeri algoritmanın çalışmasını başlatır ve algoritma akış şemasında belirlenen haliyle if - else şeklinde ilerleyerek outputu oluşturur. Burada önemli olan husus, oluşturulan talimatların tam bir kesinlikle ilerletilmesidir. Bilgisayarın algoritmayı yürütme sırasında kurallar sırasının bir şekilde değişikliğe uğraması algoritmanın çalışmamasına veya yanlış sonuç üretmesine neden olacaktır. Örneğin bunu günlük hayattan bir metaforla anlatmak istersek şöyle bir açıklamak getirmemiz uygun olur. Kek yapmak istersek ne yapmamız gerekir?. Kek yapmayı biliyorsak ya kendi kafamızdaki süreci adım adım uygularız yada herhangi bir yerden kek tarifini alarak sırayla verilen adımları yerine getiririz. Kek yapmaya başladığımızda, ilk önce unu ölçer, yeteri kadar su katar, kabartma tozu, tuz ve diğer ek malzemeleri ekler ve daha sonra fırınlarız. İlk iş olarak unu fırınlayıp daha sonra malzemeleri katabilir miyiz?. Yapabiliriz ancak yaptığımız şey kek olmaz. Günlük hayatımızdan verdiğim bu örnek algoritmaların adımlarınında kesin ve mutlak şekilde belirlenmesi gerektiğini açıklamak için önemlidir.


    Günümüzde özellikle programların arkasında yapılan operasyona göre büyük veya küçük diyebileceğimiz algoritmalar işletilir. Kapsamlı algoritmalar oluştulurken sadece programcı olmak yeterli değildir. Bu tür algoritmaları oluşturmak için şirketler süreç veya algoritma mühendislerini istihdam ederler.


    Günümüzde algoritmalar neredeyse bütün bilgi işlemler endüstrisinde kullanılır. Veriye manipüle edebilme ve karmaşık problemleri yerine getirebilme kabiliyetleri nedeniyle dijital çağda telefonlarda, bilgisayarlarda, arabalarda, evlerde ve burada listeleyemeceğimiz kadar farklı alanda kendine kullanım alanı bulmuşlardır.


    Algoritma Örnekleri

    Algoritmalar yukarıda da değindiğimiz gibi her alanda karşımışıza çıkar. Çoğunlukla iş hayatımızda görmeye alışkın olduğumuz algoritmalar için şöyle bir örnek verebiliriz. Örneğin, mail ile size iletilen bir verinin , elektronik hesaplama tablolaranı aktarıcak olan bir uygulama birden fazla algoritmanın seri şekilde işletilmesi sonucu oluşturulur.


    Algoritmaların belkide en karmaşık olanları kriptolama algoritmalarıdır. Bugün herhangi bir siteye üye olduğunuz zaman belirlediğiniz şifre, web sitelerinin veri tabanlarında ham haliyle yani sizin görsel olarak hatırladığınız şekliyle sistemde tutulmaz. Çünkü, veri tabanında yaşanacak en ufak güvenlik açığı bütün sistemdeki şifrelerin bir anda dijital hırsızların eline geçmesine neden olacaktır. Bu sebepledir ki , şifreler günümüzde World Wide Web Consortium tarafından tavsiye edilen olan kripto algoritmaları kullanılarak şifrelenir. Günümüzde şifre kripto işlemlerinde hangi algoritmaların kullanıldığını detaylı olarak incelemek isterseniz buradaki kripto algoritmaları linkinden ulaşabilirsiniz.


    Basit algoritmaları oluşturmak kolaydır, kullanıcının girmiş olduğu iki sayıyı toplayan bir algoritma geliştirmek istersek, şöyle bir kurallar serisi uygulayarak Toplama Algoritması adını verdiğimiz basit bir algoritmanın talimatlarını oluşturabiliriz:


    1.Adım: Başlat

    2.Adım: sayı1 ve sayı2 değişkenlerini tanımla

    3.Adım: sayı1 ve sayı2 değerlerini oku

    4.Adım: toplam değişkenini tanımla

    5.Adım: sayı1 ve sayı2 'yi topla ve toplam değişkenine ata

    6.Adım: toplam sayıyı ekranda göster

    7.Adım: Dur


    Bu komut sırasında yapılacak olan herhangi bir hata, toplama algoritmasının yanlış sonuç üretmesine veya çalışmamasına neden olacaktır. Algoritmanın sadece doğru sonucu vermesi günümüzde günümüzde iyi bir algoritma için yeterli değildir. Algoritmalar aşağıdaki kalite unsurlarını mutlaka içermelidir:



    Beklenildiği gibi her türlü matematik problemi çözmek farklı çeşitte algoritma tipleri vardır. Günümüzde popüler olan ve çok kullanılan algoritma tipleri:



    Published Date:

    December 29, 2020

    Updated Date:

    December 02, 2023