0.1 Algoritma Nedir?


Sonlu sayıda adımda belirli bir amaca ulaşmayı hedefleyen işlemler bütünüdür. Mesela çok klasik bir örnek olan çay demleme işlemini alalım. Çay demlemek için gerekli işlemleri en basit şekilde sıraya sokarsak:
1- Çaydanlığa su doldurulur.
2- Ocağın altı yakılır.
3-Çaydanlığın içindeki su ısıtılmaya başlanır.
4- Isıtılan suya çay yaprakları konur.
Bu algoritmayı anlatan klasik bir video var:
Burdaki videoda aslında algoritma yazmanın önemi ve zorluğu sandviç yaparak anlatılmaya çalışılmış.
Yukarıda verdiğim adımlarda da basit bir algoritma oluşturmuş olduk. Biz bu çay demleme işlemini çok daha uğraştırıcı ve uzun yollarla da yapabilirdik veya bu adımlar aynı videodaki gibi eksik de kalabilirlerdi. Ama günlük hayatta biz en pratik ve zahmetsiz yolu isteriz ama amacımıza da tam ulaşmak isteriz . Kodlamada da algoritmada da bunu isteriz. Ancak en pratik ve zahmetsiz yolda çıkabilecek her türlü senaryoya karşı hazırlıklı olmalıyız ve adımlarımızı en net bir şekilde belirlemeliyiz. Bu yüzden algoritma oluştururken dikkat etmemiz gereken şeyler var:
Problemi iyi anlamalıyız. Algoritma yazmadan önce problemi tam olarak anlamak gerekir bu sayede yapmak istediğimizi net bir şekilde oluşturabiliriz. Girdi nedir? , Çıktı ne olacak? , Ne isteniyor? , gibi sorular bize bu konuda yardımcı olur.
Doğru girdi ve çıktıya dikkat etmeliyiz. Algoritmanın hangi verileri alacağı ve ne tür sonuç üreteceği açıkça tanımlanmalı. Girdi ve çıktının sınır değerlerini düşünülmeliyiz.
Adımları açık ve net tanımlamalıyız. Her adım mantıklı ve sıralı olmalı algoritma yazmanın en büyük amacı da bu zaten. Gereksiz tekrarlar veya belirsiz ifadelerden kaçınılmalıyız unutmayın en pratik yolu istiyoruz en karmaşık yolu değil.
Algoritmada aranılan en önemli özellik verimliliktir. Verimlilik zamanı ve belleği iyi kullanmaktan geçiyor bu konuya daha fazla değineceğiz.
Algoritma beklenmeyen durumlara karşı dayanıklı olmalı. Her türlü senaryo düşünülmeli. Mümkün olduğunca farklı senaryolarda çalışabilecek kadar esnek olmalı
Bu maddelere daha fazlası eklenebilir ama ana fikir olarak bunlar var. Şimdi sıradaki adım da algoritma analizine gireceğiz.
Subscribe to my newsletter
Read articles from Minanur Birinci directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
