Algoritma kelimesi kulağa teknik geliyor ama aslında çok basit bir fikri anlatıyor: belirli bir sorunu çözmek için izlenen adım adım yol. Algoritma nedir sorusunu en kolay şekilde günlük bir örnekle açıklayabiliriz. Sabah kahvaltı hazırladığınızı düşünün. Yumurtayı kıracaksınız, tavaya koyacaksınız, altını yakacaksınız ve belirli bir süre bekleyeceksiniz. Bu adımların sırası önemli; önce ateşi yakıp sonra yumurtayı kırmak yerine her zaman belirli bir düzen izliyorsunuz. İşte bu sıralı ve belirli adımlar dizisi bir algoritma. Aynı şekilde yol tarifi de bir algoritma. "Kavşaktan sağa dön, 200 metre düz git, kırmızı binada sola dön" gibi talimatlar, birisini doğru konuma ulaştırmak için tasarlanmış bir adımlar dizisi. Programlamada algoritma nedir diye sorulduğunda cevap temelde aynı: bilgisayara bir görevi nasıl tamamlayacağını anlatan net ve sıralı yönergeler. Bilgisayar sizi anlamaz, yorumlamaz; sadece ne yazarsanız onu yapar. Bu yüzden adımların açık, doğru sırada ve eksiksiz olması gerekir. Algoritmaların üç temel özelliği var. Sonlanmalı: bir algoritma sonsuz döngüye girip asla bitmemeli. Net olmalı: her adım açıkça tanımlanmış olmalı, yoruma yer kalmamalı. Ve giriş-çıkış vermeli: bir veri alıp işleyip bir sonuç üretmeli. Peki neden algoritma öğrenmek bu kadar konuşuluyor? Çünkü iyi bir algoritma, aynı işi daha hızlı ve daha az kaynakla yapabilir. Bin kişinin adını alfabetik sıralamak için birden fazla yöntem var; ama bazıları çok daha hızlı çalışıyor. Hangi yöntemi seçtiğiniz, programınızın performansını doğrudan etkiliyor. Algoritma kavramı sadece programcılara özgü değil. Bir yemek tarifi, vergi formu doldurma adımları, bisiklet sürmeyi öğretmek... Hepsi birer algoritma. Programlama bu mantığı bilgisayar diline çevirmekten ibaret.