Solvequill Blog · coding · 3 dk okuma · 9 görüntülenme

İç içe iki döngü her zaman n² müdür?

İçteki döngü i'den başlıyorsa toplam çalışma sayısı değil, /2'dir. Sonuç yine ama sebebi saymadan bilinmez.

Yayın tarihi:

Ders yükleniyor…
Bu soruyu Solvequill'in anlattığı ders.

Soru

Aşağıdaki iç içe döngü toplam kaç kez çalışır? Sonucu n cinsinden kapalı biçimde yazınız ve karmaşıklığını belirtiniz.

Oran her satırda 1/2'ye yaklaşıyor — sabit çarpanın kendisi bu.

Önce neyi fark etmeli

İçteki döngünün sınırı sabit değil, dıştaki değişkene bağlı. Bu yüzden 'n çarpı n' demek yanlış olur; her i değeri için içteki döngünün kaç kez döndüğünü ayrı ayrı yazıp toplamak gerekir.

Adım adım çözüm

İncelenen kod:

için içteki döngü n kez, için n-1 kez, için n-2 kez döner. En sonda için yalnızca 1 kez döner. Toplam:

Bu, ilk n doğal sayının toplamıdır ve kapalı biçimi bilinir:

için sayıyla kontrol . İç içe iki tam döngü olsaydı 10 000 olurdu, yani yaklaşık yarısı:

Büyük n'de baskın terim /2'dir. Sabit çarpan -O'da düşer:

Cevap

Karmaşıklık yine O() ama gerçek çalışma sayısı tam döngünün yarısı. -O sabit çarpanı gizler; pratikte iki kat fark eder ve ölçtüğünde bunu görürsün.

Bu soruda en sık yapılan hata

İzlemeyi mi tercih edersin? Yukarıdaki ders her satırı tek tek anlatıyor.

Kendi sorunu açıklamalı videoya dönüştür

Soruyu yaz veya fotoğrafını yükle; Solvequill çözümü adım adım anlatan bir video üretsin.

Solvequill'i aç

Devam etmek için