Yazılım algoritmalarını, bilgisayarın bir problemi çözmesi veya bir amaca ulaşması için yapması gereken şeyleri adım adım açıklayan tarif diye tanımlayabiliriz. Yemek tariflerini örnek olarak alalım; belirlenen yiyecek için kullanılacak malzemelerin listesi olur ve adım adım yemeğin yapılışını açıklar. İşte algoritma da aslında bundan pek de farklı değildir.
Bilgisayar dilindeki karşılığı olarak, tarif kelimesine procedure, malzemelere de inputs diyebiliriz. Bilgisayar prosedüre bakar ve harfi harfine uygular, siz de sonuçları alırsınız, buna da outputs deriz. Programlama algoritması bir şeyin nasıl yapılacağını açıklar, bilgisayar ise her seferinde işlemi istisnasız tam olarak o şekilde gerçekleştirir. Tabii ki algoritmalarınızı bilgisayarların anlayacağı dilde yazmanız gerektiğinden bahsetmiyorum bile!
Algoritmalar aslında fark etmesek de günlük hayatımızın her yerinde var, her şeyin bir algoritması olduğunu biraz düşününce daha iyi anlayacaksınız. Algoritmalar çok karmaşık olacağı gibi, çok basit de olabilir. Örneğin; iki sayının farkını bulan bir kod dizisi en basit algoritma örneklerinden birisidir. Google’ın arama yaptığınızda web sitelerinin sıralarını belirlemek için kullandığı algoritma ise karmaşık algoritma örneklerinden birisidir.
Algoritma Yeteneği Nasıl Geliştirilir?
Şüphesiz ki bilgisayar programlarının olmazsa olmazları iyi bir algoritmadır. Eğer bir programı algoritması ne kadar iyiyse, hata verme oranı da bir o kadar az olacaktır. Algoritma yeteneğinizi geliştirmek için biraz sayısal mantık gerekli olduğu gibi, sık sık alıştırma yapmak da oldukça önemlidir.
Kendiniz geliştirmek için ne kadar çok alıştırma yaparsanız gittikçe o kadar iyi olacağınızı gözle görülür bir şekilde fark edeceksiniz. İnternette ufak bir arama yapıp algoritma örneklerine bakmak da size oldukça ilham verecektir. Ne derler bilirsiniz, “practice makes perfect”.
Şu yazılar da hoşunuza gidebilir: Veri Analizi Nedir?