Merhaba değerli Kodlama Vakti okuyucuları, bu yazımızda “Algoritma Nedir” sorusuna yanıt arayacağız.
Algoritma belirli bir problemi çözmek veya belirli bir şartı sağlamak için tasarlanmış yoldur.Bilgisayar bilimlerinde ve Matematikte bir işi yapmak için oluşturulan, başlangıç ve bitiş noktası olan sonlu işlemler kümesidir. Bilgisayar bilimlerinin önemli bir parçası olup , bilgisayar programlamada kullanılır.Tüm programlama dillerinin temelleri algoritmaya dayanır.
Algoritma kelimesi, Bağdat'taki kraliyet ailesine mensup olan ve yaklaşık 780 ile 850 yılları arasında yaşayan matematikçi Muhammed ibn-Musa al-Khwarizmi'nin adından türetilmiştir. İbn-Musa al-Khwarizmi tarafından "Hisab el-cebir ve el-mukabala" kitabında sunulmuştur. Algoritma sözcüğü de El Khwarizmi isminin Avrupalılarca telaffuzundan doğmuştur.
Algoritmalar bilgisayar bilimlerinin tüm alanlarında yaygın olarak kullanılmaktadır. Örneğin arama motoru algoritması, anahtar kelimeleri referans alarak, ilişkili veritabanında ilgili web sitesini arar ve bizlere sunar. Şifreleme algoritmaları, verileri kullandığı algoritmaya göre şifreler. Örneğin ABD Savunma Bakanlığı'nın Veri Şifreleme Standardı (DES) gibi gizli anahtar algoritmaları. Bu şifreleme algoritması verileri şifrelemek ve şifresini çözmek için aynı anahtarı kullanır. Algoritma yeterince güvenilir olduğu sürece, anahtarı olmayan hiç kimse verilerin şifresini çözemez.
Bir bilgisayarları harekete geçirmek için, bilgisayar programları yazmak gerekmektedir.Bir program yazmak için, bilgisayar adım adım, tam olarak ne yapmak istediğini söylemek gerekir. Bilgisayar daha sonra bu adımları izleyerek istediğimiz eylemi gerçekleştirir.
Bilgisayara ne yapacağınızı söylediğinizde, bunun nasıl yapılacağını da seçersiniz. İşte burada bilgisayar algoritmaları devreye giriyor. Algoritma işi yapmak için kullanılan temel tekniktir. Algoritma kavramını anlamanıza yardımcı olacak bir örnek izleyelim.
Başka şehirden bir arkadaşınız sizi ziyarete gelecektir. Arkadaşınızın havaalanından evinize gelmesi gerektiğini varsayalım. İşte arkadaşınıza evinize gelmesi için verebileceğiniz dört farklı algoritma :
Taksi Algoritması
- Taksi durağına git
- Taksiye bin
- Şoföre adresimi ver
Beni Ara Algoritması
- Uçağın iniş yaptığında beni ara
- İç hatlar bagaj kapısında buluşalım
- Beraber dönelim
Araç Kiralama Algoritması
- Havalanında araba kirala
- Navigasyona adresimi yaz
- Yolu takip et
Otobüs Algoritması
- Havaalanı önünden 220 numaralı otobüse bin
- Çağlayan Mahallesinde otobüsten in
- Kara apartmanını bul
- 9 nolu daireye gel
Bu algoritmaların dördü de tamamen aynı hedefe ulaşır, ancak her algoritma bunu tamamen farklı bir şekilde yapar. Her algoritmanın farklı bir maliyeti ve farklı bir seyahat süresi vardır. Örneğin bir taksiye binmek muhtemelen en hızlı, ama aynı zamanda en pahalı olanıdır. Otobüse binmek kesinlikle daha ucuz, ama çok daha yavaş. Algoritmayı koşullara göre seçersiniz.
Bilgisayar programlamada, verilen herhangi bir görevi yerine getirmenin birçok farklı yolu vardır. Her algoritmanın farklı durumlarda avantajları ve dezavantajları vardır. Bizler en uygun algoritmaları seçmeye çalışırız.
Algoritma belirli bir problemi çözmek veya belirli bir şartı sağlamak için tasarlanmış yoldur !
Referanslar
https://computer.howstuffworks.com/what-is-a-computer-algorithm.htm