Köprüler ve Eklem Noktaları
Bağlantıyı koparan kenarları ve düğümleri bulun.
Köprüler ve Eklem Noktaları, 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.
Grafikteki Hassas Noktalar
Yönsüz bir grafiğin bazı bölümleri kritiktir: onları kaldırdığınızda grafik parçalanır. Bunları bulmak, zayıf bağlantıları ortaya çıkarır.
Köprü Nedir
Köprü, kaldırılması bağlantılı bileşenlerin sayısını artıran kenardır. İki bölge arasındaki tek yoldur.
Kesim Noktası Nedir
Kesim noktası, kaldırılması grafiğin bağlantısını koparan düğümdür. Ağlar, bu tür tekil arıza noktalarından çekinir.
DFS Ağaçları Yeniden
Her ikisi de tek bir DFS üzerinde çalışır; keşif zamanını ve bir low değerini izler. Tarjan algoritmasına benzer, ancak yönsüz bir grafikte uygulanır.
disc = [-1] * n
low = [-1] * nLow En Erken Erişimi Gösterir
Bir düğümün en düşük erişim değeri, DFS alt ağacından, olası bir geri kenarla yukarı doğru geçerek erişilebilen en erken keşif kimliğidir.
Girişte Başlatın
DFS bir düğüme girdiğinde, disc ve low değerlerini geçerli zamanlayıcıya ayarlayın ve komşularına doğru ilerleyin.
disc[u] = low[u] = timer
timer += 1Köprü Koşulu
Alt düğüm v'ye özyinelemeyle girdikten sonra low[v] > disc[u] ise, u'nun ötesine geçen hiçbir geri kenar yoktur; bu nedenle u-v kenarı bir köprüdür.
if low[v] > disc[u]:
bridges.append((u, v))Kesim Noktası Koşulu
Kök olmayan u düğümü, bir v alt düğümü low[v] >= disc[u] koşulunu sağladığında kesim noktasıdır: v'nin alt ağacı u'yu atlayamaz.
if parent[u] != -1 and low[v] >= disc[u]:
art.add(u)Kök İçin Özel Durum
DFS kökü, yalnızca DFS ağacında iki veya daha fazla alt düğümü varsa kesim noktasıdır; bu nedenle onları sayın.
if parent[u] == -1 and children > 1:
art.add(u)Ebeveyn Kenarını Atlayın
Bir geri kenardan low değerini güncellerken, kenar üzerinden ebeveyne geri dönmeyin; aksi hâlde köprüleri yanlış değerlendirebilirsiniz.
if v != parent[u]:
low[u] = min(low[u], disc[v])Tek Geçişte İki Sonuç
Tek bir DFS, her köprüyü ve kesim noktasını birlikte O(V + E) sürede bulur. Ek bir dolaşma gerekmez.
Hızlı Kontrol
u düğümünden v alt düğümüne özyinelemeyle girdikten sonra low[v] > disc[u] olduğunu görüyorsunuz. Ne buldunuz?
Özet: Kritik Kenarlar ve Düğümler
disc ve low değerlerini kullanan tek bir DFS her şeyi bulur: low[v] > disc[u] bir köprüyü, low[v] >= disc[u] ise bir kesim noktasını gösterir. 🌉
Sıkça Sorulan Sorular
“Köprüler ve Eklem Noktaları” dersi ücretsiz mi?
Evet — “Köprüler ve Eklem Noktaları” 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.
“Köprüler ve Eklem Noktaları” dersinde ne öğreneceğim?
Bağlantıyı koparan kenarları ve düğümleri bulun. 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.
“Köprüler ve Eklem Noktaları” 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
- Kahn Algoritmasıyla Topolojik Sıralama
- Yönlü Graflarda Döngü Algılama
- Güçlü Bağlantılı Bileşenler
- Köprüler ve Eklem Noktaları