SSpanSorbus
Yapay zekâ ile kod çalışma alanı

Yönsüz graf köprüleri

En çok 32 düğümlü basit yönsüz grafın köprülerini bulun.

● ● ●SpanSorbus●
İş akışları · Yönsüz graf köprüleri ×
def bridge_edges(n, edges):
    if type(n) is not int or not 0 <= n <= 32:
        raise ValueError("vertex count")
    if type(edges) is not list or len(edges) > 496:
        raise ValueError("edge count")
    graph = [set() for _ in range(n)]
    for edge in edges:
        if type(edge) is not tuple or len(edge) != 2 or any(
            type(x) is not int or not 0 <= x < n for x in edge):
            raise ValueError("edge endpoints")
        a, b = edge
        if a == b or b in graph[a]:
            raise ValueError("simple undirected edges")
        graph[a].add(b); graph[b].add(a)
    timer, found = 0, []
    entered, low = [-1] * n, [0] * n
    def visit(v, parent):
        nonlocal timer
        entered[v] = low[v] = timer; timer += 1
        for u in sorted(graph[v]):
            if u == parent:
                continue
            if entered[u] < 0:
                visit(u, v); low[v] = min(low[v], low[u])
                if low[u] > entered[v]:
                    found.append(tuple(sorted((v, u))))
            else:
                low[v] = min(low[v], entered[u])
    for v in range(n):
        if entered[v] < 0:
            visit(v, -1)
    return sorted(found)
✳En çok 32 düğümlü basit yönsüz grafın köprülerini bulun.
✓ DeğişikliklerUygulamadan önce inceleyin ↗
Çalışma alanı çizimi
01

Uygulamadan önce inceleyin

Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın.

02

Modeller

Temel URL ve gerekiyorsa API anahtarıyla OpenAI uyumlu veya Anthropic endpoint yapılandırın. Bağlantıyı test edin. Yerel model sunucusu çalışıyor olmalıdır; uzak araçlar ayrıca veri aktarabilir.

03

Proje

Ayrık bileşenleri ve döngüleri sınayın; girdiyi değiştirmeden yinelenen kenarları, öz döngüleri ve geçersiz uçları reddedin.

İş akışları

Yönsüz graf köprüleri

İş akışları ↗
İş akışları
def bridge_edges(n, edges):
    if type(n) is not int or not 0 <= n <= 32:
        raise ValueError("vertex count")
    if type(edges) is not list or len(edges) > 496:
        raise ValueError("edge count")
    graph = [set() for _ in range(n)]
    for edge in edges:
        if type(edge) is not tuple or len(edge) != 2 or any(
            type(x) is not int or not 0 <= x < n for x in edge):
            raise ValueError("edge endpoints")
        a, b = edge
        if a == b or b in graph[a]:
            raise ValueError("simple undirected edges")
        graph[a].add(b); graph[b].add(a)
    timer, found = 0, []
    entered, low = [-1] * n, [0] * n
    def visit(v, parent):
        nonlocal timer
        entered[v] = low[v] = timer; timer += 1
        for u in sorted(graph[v]):
            if u == parent:
                continue
            if entered[u] < 0:
                visit(u, v); low[v] = min(low[v], low[u])
                if low[u] > entered[v]:
                    found.append(tuple(sorted((v, u))))
            else:
                low[v] = min(low[v], entered[u])
    for v in range(n):
        if entered[v] < 0:
            visit(v, -1)
    return sorted(found)
Yapay zekâ ile kod çalışma alanı

Graf sonuçlarını uygulamanın verdiği bir kararla ilişkilendirin

SpanSorbus, bağlantılılık mantığını gerçek kaynak dosyaları bağlamında incelemek için bir Windows kodlama çalışma alanıdır. Uygulamanızın graf sonucundan hareketle verdiği kararı açıklayarak başlayın. Bağlı modelden dolaşma veya çıktıda değişiklik istemeden önce girdi gösterimini ve tüketicisini incelemesini isteyin.

Yararlı bir görev, çıkarıldığında test verisinin bağlantılı bir parçasını ayıran bir kenarı araştırmak için bridge_edges.py kullanabilir. Karşılaştırma için döngülü bir graf ekleyin ve beklenen kenar listesini belirtin. Önerilen değişikliğin sessizce farklı türde girdi kabul etmemesi için basit, yönsüz graf varsayımlarını uygulamayla birlikte inceleyin.

Yazılım çalışması yordam döndükten sonra devam eder. Çağıran kodun düğümleri nasıl adlandırdığını, kenarları nasıl sunduğunu ve reddedilen verileri nasıl işlediğini inceleyin; ardından bağlantısız ve boş test verileriyle proje denetimlerinizi çalıştırın. İncelemeyi bu gözlenebilir sonuçlara bağlı tutun. Doğru bir graf açıklaması, uygulamanın gerçek verilerini beklenen gösterime eşlediğini kanıtlamaz.

SpanSorbus, gerektiğinde kimlik bilgileriyle desteklenen OpenAI uyumlu veya Anthropic uç noktaları üzerinden bağlanır. Sağlayıcının kısıtlamalarını ve kullanılabilir araçları denetleyerek uç nokta sunuyorsa sansürsüz bir yapay zeka modeli seçin. Bağlam sınırları modele ve sunucuya bağlıdır; bu nedenle odaklı bir kodlama görüşmesi için sınırlı bir test verisi ve ilgili tüketicileri sağlayın.

Bağlantılılık kodunu değiştirmeden önce sorular

Döngü dışındaki her kenara aynı işlem mi uygulanmalı?

Kesin graf tanımını ve uygulamanızın verdiği kararı denetleyin. Beklenen sonucu bağımsız yazılmış bir test verisi kullanın. Gayriresmî bir graf açıklamasını yazılım gereksinimine taşımadan önce kodun yön, paralel kenarlar ve öz döngüler hakkındaki varsayımlarını inceleyin.

Bağlantısız girdiyi neden test etmeliyim?

Uygulama, her birinin kendi ilgili kenarları olan birkaç ayrı bileşen içerebilir. Tek düğümden başlayan dolaşma diğerlerini kaçırabilir. Birden fazla bileşenli test verisi ekleyin ve yalnızca ilk beklenen kenarı değil, çıktının tamamını karşılaştırın.

İçe aktarılan veriden yinelenen kenarlar sağlayabilir miyim?

Önce kabul edilen girdi sözleşmesini inceleyin. Örnek basit bir graf bekler ve tekrarları reddeder. İçe aktarılan veride yinelenen kenarlar varsa graf yordamında değişiklik istemeden önce içe aktarıcının bunları normalleştirmesine mi yoksa hata bildirmesine mi karar verin.

Tüketici bir kenarı gösterirken neyi korumalı?

Dahili düğüm tanımlayıcıları ile kullanıcının gördüğü etiketler arasındaki eşlemeyi ve sabit çıktı için gereken sıralamayı tanımlayın. Önerilen düzenlemeyle bu eşlemeleri inceleyin. Doğru bir dahili kenar çifti, çağıran kod onu yanlış etiketlerle ilişkilendirirse yine de yanıltıcı sonuca dönüşebilir.

Windows için indir ↗

SpanSorbus · Güncellendi 2026-10-25