🎓 Bounlu tarafından hazırlandı
24.807 görüntülenme

Zaman ve Uzay Karmaşıklığı Nedir?

Algoritmaların verimliliğini ölçmek için kullanılan iki temel metrik zaman karmaşıklığı ve uzay karmaşıklığıdır. Bu analizler, algoritmaların farklı girdi boyutlarına göre ne kadar hızlı çalıştığını ve ne kadar bellek tükettiğini anlamamıza yardımcı olur.

Kısa cevap

Zaman karmaşıklığı, bir algoritmanın belirli bir girdi boyutu için çalışmasını tamamlaması gereken adım sayısını tahmin ederken, uzay karmaşıklığı ise algoritmanın çalışması için gereken bellek miktarını tahmin eder.

01

Adım adım çözümlü örnekler

Basit bir döngü yapısının zaman karmaşıklığı nedir?

Bir dizideki tüm elemanları toplamak için kullanılan basit bir döngü, 'n' eleman varsa, 'n' adımda çalışır. Bu nedenle, zaman karmaşıklığı O(n)'dir.

İç içe geçmiş iki döngünün zaman karmaşıklığı nedir?

Bir matrisin tüm elemanlarını işlemek için kullanılan iç içe geçmiş iki döngü, 'n x m' boyutunda bir matris için 'n*m' adım gerektirir. Zaman karmaşıklığı O(n*m)'dir.

Özyinelemeli bir fonksiyonun uzay karmaşıklığı nedir?

Özyinelemeli fonksiyonlar, her çağrı için yığın (stack) üzerinde yer kaplar. Fonksiyonun özyineleme derinliği, uzay karmaşıklığını belirler. Örneğin, Fibonacci serisi hesaplayan özyinelemeli bir fonksiyonun uzay karmaşıklığı O(n)'dir.
02

Bilgi kartları

03

Mini test

S1.Bir diziyi sıralamak için kullanılan kabarcık sıralaması (bubble sort) algoritmasının en kötü durum zaman karmaşıklığı nedir?

Doğru cevap: C. Kabarcık sıralaması, dizinin ters sıralı olduğu en kötü durumda n eleman için yaklaşık n^2 karşılaştırma ve yer değiştirme işlemi yapar.

S2.İkili arama (binary search) algoritmasının zaman karmaşıklığı nedir?

Doğru cevap: D. İkili arama, her adımda arama alanını ikiye böldüğü için logaritmik zaman karmaşıklığına sahiptir.

S3.Bir algoritmanın çalışması için gereken bellek miktarını analiz eden metrik hangisidir?

Doğru cevap: B. Uzay karmaşıklığı, bir algoritmanın çalışması sırasında kullandığı bellek miktarını ifade eder.
📄Bu konuyu PDF çalışma kağıdı olarak indirKonu özeti + 10 soru + cevap anahtarı — sınıfta paylaş, yazdır.
04

Sık yapılan hatalar

Zaman karmaşıklığı, algoritmanın gerçek çalışma süresini milisaniye cinsinden verir.Doğrusu: Zaman karmaşıklığı, algoritmanın adım sayısını girdi boyutu cinsinden tahmin eden teorik bir ölçümdür, gerçek çalışma süresi donanıma göre değişir.

Uzay karmaşıklığı sadece değişkenler için ayrılan belleği kapsar.Doğrusu: Uzay karmaşıklığı, değişkenler, yığın (stack) ve özyinelemeli çağrılar için ayrılan toplam bellek alanını kapsar.

05

Sıkça sorulan sorular

Big O gösterimi nedir ve neden önemlidir?

Big O gösterimi, bir algoritmanın en kötü durumdaki büyüme oranını ifade eder. Algoritmaların verimliliğini karşılaştırmak ve ölçeklenebilirliklerini anlamak için önemlidir.

Zaman ve uzay karmaşıklığı arasındaki denge nasıldır?

Genellikle, bir algoritmanın zaman karmaşıklığını iyileştirmek uzay karmaşıklığını artırabilir ve tersi de geçerlidir. Amaç, probleme en uygun dengeyi bulmaktır.

Hangi karmaşıklık türleri yaygın olarak kullanılır?

En yaygın kullanılan karmaşıklık türleri O(1), O(log n), O(n), O(n log n) ve O(n^2)'dir. Bunlar, algoritmaların performansını sınıflandırmak için kullanılır.

İlgili konular