Algoritma ve Programlamaya Giriş Ünite -1 (Güz)
Kaynak: https://lolonolo.com/2025/10/26/algoritma-ve-programlamaya-giris-unite-1-guz/
📖 Konu özeti (sınav öncesi tekrar)
Algoritma ve Programlamaya Giriş Ünite -1 (Güz) : Temel Kavramlar
Algoritma Kavramı ve Özellikleri
Programlamayı öğrenmek için öncelikle algoritmanın temellerini bilmek gerekir. Algoritma, en temelde bir problemin çözümü için gerekli olan adımlar serisi veya girdiyi çıktıya dönüştüren bir dizi hesaplama adımı olarak tanımlanır. Bir algoritma, problemi adım adım ve küçük parçalara bölerek ele almayı sağlar.
İyi bir algoritmanın sahip olması gereken temel özellikler şunlardır:
Algoritma, programlama dilinin kendisi değildir; aksine, kodlama aşamasına geçmeden önce işlemlerin sırasını netleştiren bir altyapı sağlar.
Algoritma Hazırlama Yöntemleri
Algoritmalar üç farklı yöntemle ifade edilebilir:
Akış Diyagramı Elemanları
Akış diyagramları, algoritmanın adımlarını ve akış yönünü gösteren standart semboller kullanır:
Algoritma Kontrol Yapıları
Algoritmalar üç temel kontrol yapısından oluşur:
“Sonlu yapı”, bir kontrol yapısı türü değil, algoritmanın temel bir özelliğidir.
Algoritma Analizi ve Büyük O Notasyonu (Big O)
Algoritma analizi, algoritmanın ne kadar verimli çalıştığını (zaman, bellek kullanımı açısından) değerlendirir. Bu analizde genellikle Büyük O Notasyonu kullanılır. Büyük O, girdi verisinin eleman sayısı (n) arttıkça, algoritmanın performansının (zaman veya bellek) nasıl karmaşıklaştığını gösteren matematiksel bir ifadedir.
Ölçülen temel kavramlar Zaman Karmaşıklığı (Time Complexity) ve Alan Karmaşıklığı’dır (Space Complexity).
En verimli (en yüksek performanslı) algoritma, girdi boyutuna bağlı olmayan O(1) (Sabit Zaman) karmaşıklığına sahip olandır. Örneğin, bir dizideki belirli bir indisteki elemana erişim $O(1)$ zaman alır. Performans sıralaması (en iyiden en kötüye): O(1) > O(log n) > O(n) > O(n log n) > O(n2) > O(n3)…