Bağlantılı Bileşenler ve Taşma Doldurma
Adaları sayın ve bölgeleri etiketleyin.
Bağlantılı Bileşenler ve Taşma Doldurma, CoddyKit'te ücretsiz bir Competitive Programming Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Competitive Programming Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Competitive Programming Academy kursu toplamda 4 dersten oluşur.
Bir Bileşen Nedir
Bağlı bileşen, her düğümüne diğer düğümlerden ulaşabildiğiniz bir düğüm grubudur. Bir grafik, birbirinden ayrı birkaç grup içerebilir. 🧩
Bileşenleri Sayma
Bileşenleri saymak için ziyaret edilmemiş her düğümden bir gezinme başlatın. Her yeni başlangıç, tamamen yeni bir grubun işaretlenmesini sağlar.
Tüm Düğümler Üzerinde Döngü Kurun
1'den n'ye kadar düğümler üzerinde ilerleyin. Hâlâ ziyaret edilmemiş bir düğüm bulduğunuzda, keşfedilecek yeni bir bileşen bulmuş olursunuz.
for s in range(1, n + 1):
if not visited[s]:
bfs_or_dfs(s)
count += 1Her Grup İçin Bir Gezinme
İçteki BFS veya DFS, tüm bileşeni ziyaret edildi olarak işaretler; böylece dış döngü bir sonraki turda bu bileşeni atlar.
Izgaralar da Grafiktir
2B ızgara gizli bir grafiktir: her hücre, komşularına bağlı bir düğümdür. Bu yapı, klasik taşma doldurma fikrini kullanmanızı sağlar. 🗺️
Dört Yön
Bir hücreden genellikle yukarı, aşağı, sola ve sağa hareket edersiniz. Kodu sade tutmak için bu hareketleri yön vektörleri olarak saklayın.
dirs = [(-1, 0), (1, 0), (0, -1), (0, 1)]Izgaranın İçinde Kalın
Adım atmadan önce yeni satırın ve sütunun sınırlar içinde olduğunu kontrol edin. Bu kontrolü atlamak, dizin hatalarına veya yanlış yanıtlara yol açar.
if 0 <= nr < rows and 0 <= nc < cols:
passTek Bir Bölgeyi Doldurma
Taşma doldurma, bir hücreden başlar ve tıpkı boya kovası aracı gibi, aynı türden bağlantılı tüm hücrelere yayılır.
Adaları Sayma
Adaları saymak için ızgarayı tarayın; her yeni kara hücresinde, adanın tamamını taşma doldurmayla doldurun ve sayaca bir ekleyin.
if grid[r][c] == '1' and not seen[r][c]:
flood(r, c)
islands += 1Bölgeleri Etiketleme
Doldurma sırasında her hücre için bir etiket saklayabilirsiniz. Böylece daha sonra herhangi bir hücrenin hangi bölgeye ait olduğunu anında bilirsiniz.
Izgara Boyutuyla Doğrusal
Her hücre bir kez ziyaret edildiğinden, bir ızgaradaki taşma doldurma işlemi O(satır çarpı sütun) sürede çalışır. Bu süre, yarışma sınırlarına rahatça uyar.
Hızlı Kontrol
Bağlantılı bileşenleri nasıl sayarsınız?
Özet
Bileşenleri, ziyaret edilmemiş her düğümden başlayarak dolaşır ve ızgaralarda bölgeleri etiketleyip adaları saymak için taşma doldurma kullanırsınız. 🎉
Sıkça Sorulan Sorular
“Bağlantılı Bileşenler ve Taşma Doldurma” dersi ücretsiz mi?
Evet — “Bağlantılı Bileşenler ve Taşma Doldurma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Competitive Programming Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Competitive Programming Academy kursu toplamda 4 dersten oluşur.
“Bağlantılı Bileşenler ve Taşma Doldurma” dersinde ne öğreneceğim?
Adaları sayın ve bölgeleri etiketleyin. Competitive Programming Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Competitive Programming Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Competitive Programming Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Bağlantılı Bileşenler ve Taşma Doldurma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Competitive Programming Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Competitive Programming Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Girdiden Komşuluk Listeleri
- Ağırlıksız En Kısa Yollar için BFS
- DFS, Özyineleme ve Yinelemeli Yığınlar
- Bağlantılı Bileşenler ve Taşma Doldurma