Algoritma, bir problemi çözmek için izlenecek adımların sıralı ve mantıklı bir şekilde yazılmasıdır. Günlük hayatta farkında olmadan birçok algoritma kullanırız. Örneğin, yemek tarifleri, bir mobilyanın kurulum kılavuzu veya okula gitmek için izlediğimiz yol birer algoritmadır.

Tarihçe: "Algoritma" kelimesi, 9. yüzyılda yaşamış Özbek matematikçi El-Harezmi'nin adından gelmektedir. El-Harezmi, cebirin temellerini atan ve sistematik problem çözme yöntemlerini geliştiren önemli bir bilim insanıdır.
Algoritmanın Temel Özellikleri
Özellik | Açıklama | Örnek |
---|---|---|
Kesinlik | Her adım açık ve net olmalıdır | "Biraz bekle" yerine "5 dakika bekle" |
Sonluluk | Belirli sayıda adımdan sonra sonlanmalıdır | Sonsuz döngüye girmemeli |
Genellik | Benzer problemlere uygulanabilir olmalıdır | Tüm sayıların karesini alabilen algoritma |
Giriş/Çıkış | En az bir girdi ve bir çıktı olmalıdır | Sayı alıp karesini veren algoritma |
Akış Şeması Sembolleri ve Anlamları
Temel Semboller

- Başla/Bitir: Oval
- İşlem: Dikdörtgen
- Karar: Eşkenar dörtgen
- Giriş/Çıkış: Paralelkenar
İleri Seviye Semboller

- Alt Süreç: İç içe dikdörtgen
- Veri Tabanı: Silindir
- Doküman: Dalgalı dikdörtgen
- Hazırlık: Altıgen
Örnek Akış Şemaları
1. Sayının Tek/Çift Olduğunu Bulan Algoritma

1. Başla 2. Sayıyı al (N) 3. Eğer N % 2 = 0 ise 4. "Çift Sayı" yaz 5. Değilse 6. "Tek Sayı" yaz 7. Bitir
2. Faktöriyel Hesaplayan Algoritma

1. Başla 2. Sayıyı al (N) 3. Sonuc = 1 4. i = 1'den N'e kadar 5. Sonuc = Sonuc * i 6. Sonucu yaz 7. Bitir
Algoritma Geliştirme Teknikleri
Problem Çözme Adımları
- Problemi Anlama
- Problemin net tanımı
- Girdi ve çıktıların belirlenmesi
- Kısıtlamaların tespiti
- Strateji Geliştirme
- Çözüm yollarının belirlenmesi
- En uygun yöntemin seçimi
- Kaynakların değerlendirilmesi
- Algoritma Yazma
- Adımların belirlenmesi
- Akış şemasının çizilmesi
- Sözde kodun yazılması
- Test ve Doğrulama
- Algoritmanın test edilmesi
- Hataların düzeltilmesi
- Optimizasyon yapılması
Algoritma Geliştirmede Dikkat Edilecek Noktalar
- Problemi küçük parçalara bölün
- Her adımı açık ve net yazın
- Algoritmanın verimliliğini düşünün
- Test senaryolarını önceden belirleyin
- Alternatif çözüm yollarını değerlendirin
Pratik Örnekler ve Alıştırmalar
Başlangıç Seviyesi
- İki sayının toplamını bulan algoritma
- Üç sayının ortalamasını hesaplayan algoritma
- Dairenin alanını hesaplayan algoritma
Orta Seviye
- Bir sayının asal olup olmadığını bulan algoritma
- Fibonacci serisini hesaplayan algoritma
- En büyük ortak böleni bulan algoritma
İleri Seviye
- Sıralama algoritmaları (Bubble, Selection, Insertion)
- Arama algoritmaları (Linear, Binary)
- Graf algoritmaları (DFS, BFS)