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

Yönlü güçlü bağlı bileşenler

En fazla 64 köşeli yönlü bir grafı güçlü bağlı bileşenlere ayırın.

● ● ●ComponentWisp●
İş akışları · Yönlü güçlü bağlı bileşenler ×
def strong_components(graph):
    if type(graph) is not list or len(graph) > 64:
        raise ValueError("scc.graph")
    n = len(graph)
    if any(type(row) is not set or any(type(v) is not int or not 0 <= v < n for v in row) for row in graph):
        raise ValueError("scc.edge")
    seen, order = set(), []
    for start in range(n):
        if start in seen:
            continue
        seen.add(start)
        stack = [(start, iter(sorted(graph[start])))]
        while stack:
            node, edges = stack[-1]
            target = next(edges, None)
            if target is None:
                order.append(node)
                stack.pop()
            elif target not in seen:
                seen.add(target)
                stack.append((target, iter(sorted(graph[target]))))
    reverse = [set() for _ in graph]
    for node, edges in enumerate(graph):
        for target in edges:
            reverse[target].add(node)
    seen, result = set(), []
    for start in reversed(order):
        if start in seen:
            continue
        group, pending = [], [start]
        seen.add(start)
        while pending:
            node = pending.pop()
            group.append(node)
            for target in reverse[node]-seen:
                seen.add(target)
                pending.append(target)
        result.append(sorted(group))
    return sorted(result)
✳Yönlü güçlü bağlı bileşenler
✓ DeğişikliklerUygulamadan önce inceleyin ↗
Çalışma alanı çizimi
  1. 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.

  2. 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.

  3. Proje

    Döngüleri, yalıtılmış köşeleri ve boş girdiyi sınayın; komşuluk kümelerini değiştirmeden geçersiz küme üyelerini reddedin.

İş akışları

Yönlü güçlü bağlı bileşenler

İş akışları ↗
İş akışları
def strong_components(graph):
    if type(graph) is not list or len(graph) > 64:
        raise ValueError("scc.graph")
    n = len(graph)
    if any(type(row) is not set or any(type(v) is not int or not 0 <= v < n for v in row) for row in graph):
        raise ValueError("scc.edge")
    seen, order = set(), []
    for start in range(n):
        if start in seen:
            continue
        seen.add(start)
        stack = [(start, iter(sorted(graph[start])))]
        while stack:
            node, edges = stack[-1]
            target = next(edges, None)
            if target is None:
                order.append(node)
                stack.pop()
            elif target not in seen:
                seen.add(target)
                stack.append((target, iter(sorted(graph[target]))))
    reverse = [set() for _ in graph]
    for node, edges in enumerate(graph):
        for target in edges:
            reverse[target].add(node)
    seen, result = set(), []
    for start in reversed(order):
        if start in seen:
            continue
        group, pending = [], [start]
        seen.add(start)
        while pending:
            node = pending.pop()
            group.append(node)
            for target in reverse[node]-seen:
                seen.add(target)
                pending.append(target)
        result.append(sorted(group))
    return sorted(result)
Yapay zekâ ile kod çalışma alanı

Bağımlılık gruplarına uygulamanın kullanabileceği bir anlam verin

ComponentWisp, proje verileri ve kod boyunca ilişkileri izleyen geliştiriciler için bir Windows yapay zekâ kodlama çalışma alanıdır. Çizge gösterimini ve gruplarına ihtiyaç duyan tüketiciyi görüşmeye getirin. Asistandan gruplama değişikliği önermeden önce yönlü kenarın anlamını incelemesini isteyin. Sonuç ancak koruduğu ilişkiler uygulamanızın yanıtlamaya çalıştığı soruyla eşleştiğinde yararlıdır.

strong_components.py çevresindeki bir görev, köşeleri yönlü yollarla birbirine ulaşabilen grupları inceleyebilir. Karşılıklı erişilebilirliği tek yönlü bağlantıdan ayırmak için küçük bir bağımlılık örneği kullanın; uygulamayı ve çıktı sırasını inceleyin. Kodu bağımlılıklara uyguluyorsanız gerçek nesnelerden köşelere eşlemeyi açıkça belirtin; yardımcı tek başına bağımlılıkların anlamını belirleyemez.

Öneriyi okuduktan sonra döngü, tek yönlü bağlantı ve yalıtılmış köşelerle proje kontrollerini çalıştırın. Oluşan grupları tutarlı ele aldığını doğrulamak için tüketiciyi inceleyin. ComponentWisp, gerektiğinde kimlik bilgileriyle desteklenen OpenAI uyumlu veya Anthropic uç noktalarına bağlanır. Kısıtlamasız modeller sunuldukları yerde seçilebilir; kısıtlamaları, araçları ve bağlam sınırlarını model ve sunucu belirler. Sonraki düzenlemelerin aynı yazılım gereksinimini koruması için kenarların anlamını ve beklenen grupları görüşmede tutun.

Bağımlılık gruplama kodu hakkında sorular

Tek yönlü bağımlılık nesneleri bir araya koymaya yeter mi?

Karşılıklı yönlü erişilebilirlikle tanımlanan grup için yetmez. Amaçlanan gruplama kuralını belirtin ve tek yönlü örnek ekleyin; önerilen uygulama yönlü ilişkiyi yanlışlıkla yönsüz bağlantı saymasın.

Gerçek proje nesneleri köşelere nasıl eşlenmeli?

Tüketicinin sonuçları yorumlamak için kullanabileceği açık bir eşleme tutun. Nesneler kaldırıldığında veya yeniden sıralandığında ne olduğunu inceleyin ve dönen grupların hâlâ amaçlanan proje nesnelerine işaret ettiğini test edin.

Bağımlılıkları gruplamak çalışma sırasını belirler mi?

Farklı bir soruyu yanıtlar. Uygulamanız grupları sıralamak veya döngüleri işlemek için ek mantığa ihtiyaç duyabilir. Bölümlemenin eksiksiz çalışma planı olduğunu varsaymak yerine gereksinimi ayrı belirleyin ve ilgili tüketiciyi inceleyin.

Kontrollere neden yalıtılmış köşeler eklenmeli?

Kenarsız nesnelerin de uygulamanızın beklediği gösterimi aldığını doğrular. Özellikle yeniden düzenleme ara yapıları yalnızca mevcut bağlantılar üzerinde dolaşarak kuruyorsa hem yardımcı çıktısını hem tüketici görünümünü kontrol edin.

Windows için indir ↗

ComponentWisp · Güncellendi 2026-10-25