Algoritma, bilgisayar yazılımlarının ortadaki problemi çözmesi ve sonuca ulaşması için takip ettiği adımlar bütünüdür. Algoritma adı ise Pers matematikçi Muhammad ibn Mūsā al-Khwārizmī’nin isminden türetilmiştir.
Bilgisayarın sadece başlatma tuşuna bastığınızda bilgisayarınız kendi başına hiçbir şey yapamayacağını biliyor muydunuz? Bilgisayarlarımızın şuanda yapmış olduğu tüm her şeyi ona bizler yani insanlar ve geliştiriciler öğretmektedir. Peki, o zaman bu algoritma da ne oluyor ve bir geliştiricinin neden algoritma hakkında bilgi sahip olması lazım? Algoritma bir yazılımı meydana getirirken kullanılıyor ve çözümün nasıl sağlanması gerektiği hakkında bilgisayara yön gösteriyor. Bilgisayar belirlenmiş olan bu algoritma içerisindeki adımları takip ederek sorunu çözüyor ve bir diğer deyişle yapması gereken işi tam olarak yerine getirebiliyor.
Tamamen kazanma üzerine kurulu bir algoritmaya sahip bilgisayarın karşına satranç oynamak için geçerseniz o masadan kazanarak kalkma şansınız ne kadar olduğunu biliyor musunuz? Neredeyse bir denecek kadar az bir ihtimaliniz var. Çünkü algoritmalar insanlar tarafından birçok şart hatta imkan varsa tüm şartlar düşünülerek hazırlanır. Bu nedenden dolayıdır ki bilgisayarların hızı karşısında insanların düşünce gücü hala çok yavaş sayılıyor.
Algoritma Geliştirme
Algoritma geliştirmek için hiç kimsenin süper dahi bir yazılımcı olmasına gerek yok. Hatta farkında olmasınız bile gün boyunca yaptığımız işlemlerin bir çoğunu dahi bir algoritmaya uygun olarak yapıyoruz. Örneğin bir yerden evinize gideceksiniz o halde şimdi bir algoritma takip etmeniz gerekiyor ve algoritmanız muhtemelen şu şekilde yön buluyor;
- Taksi durağına git.
- Taksiyi durdurmak için işaret yap.
- Taksiye bindiğinde evin adresini tarif et.
Yukarıda görmüş olduğunuz işlemlerin bütünü de sonuç olarak birer algoritmadan ibarettir. Her bir aşamayı takip ederek en sonunda istediğimiz hedefe ulaşırız. Bu sırada da asıl sorunumuz olan eve gitmek sorununu tamamen ortadan kaldırmış oluruz. Bu durumda algoritmamız başarıyla çalışıyor demektir.
Yazılım dünyasında algoritma geliştirmek için ise algoritmanın temel mantığını çok iyi kavramak gerekir. Bu konuda hazırlanmış yerli ve yabancı yazarların yalnızca algoritma üzerine yazılmış kitaplarını okumanız size algoritma mantığını kavrama ve pratiğe dökebilme şansı da sunacaktır. Yine de aşağıdaki algoritma örneklerini gözden geçirerek hangi sistemlerin de algoritmalardan faydalandığını kolayca görebilir ve ufkunuzu açabilirsiniz.
Yazılım nedir? Yazılım Dilleri ve Yazılım Dersleri
Yazılım, elektronik aygıtların belirli bir işi yapmasını sağlayan programların tümüne verilen genel isimdir. Yazılımlar farklı görevler yapma amacıyla tasarlanmış elektronik makinelerin birbirileri ile haberleşebilmelerini ve uyumu...
Algoritma Örnekleri
Google Hangouts,Skype ve Diğer Görüntülü Sohbet Servisleri
Google Hangouts veya Skype… Bunlar olmasa bile hayatınızda en az bir defa mutlaka görüntülü sohbet etme imkanı sunan bir yazılımdan faydalanmışsınızdır. Peki, bu görüşmeleriniz sırasında anlık olarak ses ve görüntülerin internet üzerinden nasıl bu kadar hızlı aktarılabildiğini düşünmüş müydünüz? Cevap gayet basit, bu tür yazılımların büyük bir kısmı sıkıştırma algoritması kullanırlar. Sıkıştırma algoritması her yazılım için farklı olabilir, bu algoritmanın asıl amacıysa görüntü ve sesleri sıkıştırarak daha kısa süre içerisinde verileri alıcıya aktarabilmek ve böylece sorunsuz bir görüşme yapmalarını sağlamaktır.
Google Maps, Yandex Haritalar ve Diğer Naivgasyon Yazılımları
Artık internet bağlantımız ve bir mobil cihazımız varsa kimseye sormaksızın istediğimiz her yere gidebiliyor ve çoğunlukla sıfır yanlış yol hatasıyla istediğimiz yere varıyoruz. Bu yazılımlar da bizi istediğimiz yere sıfır hatayla ulaştırabilmek için rota bulma algoritmasını kullanıyor. Böylece uydu sinyallerinin de yardımıyla bizi istediğimiz hedefe en kısa süre içerisinde ulaştırabiliyor.
Barbekü Yapmak
Her algoritmanın illa bir ada sahip olmasına ihtiyacı yoktur. Tıpı yukarıdaki taksi algoritmasında olduğu gibi barbekü yapmak için de basit bir algoritma yöntemi kullanırız. Ancak barbekü yapmak için kullandığımız algoritma oldukça basit ve adımları son derece belirgindir. Yine de bu Barbekü yaparken bir algoritma uyguladığımız gerçeğini değiştiremez.