CComponentWisp
Produkt

Funktionen der Software · Stark verbundene gerichtete Komponenten

01

Untersuche strong_components.py, um gegenseitige gerichtete Erreichbarkeit von ungerichtetem Zusammenhang zu unterscheiden.

01

Modelle

Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen.

02

Projekt

Wählen Sie einen Ordner und lassen Sie die betreffenden Dateien vor einer Änderung lesen. Legen Sie Ziel und Grenzen der Aufgabe fest.

03

Änderungen

Prüfen Sie Änderungen und Befehlsausgaben. Führen Sie die Projektprüfungen aus, bevor Sie das Ergebnis übernehmen; erzeugter Code ist nicht automatisch getestet.

Stark verbundene gerichtete Komponenten

● ● ●ComponentWisp●
Arbeitsabläufe · Stark verbundene gerichtete Komponenten ×
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)
✳Stark verbundene gerichtete Komponenten
✓ ÄnderungenVor dem Anwenden prüfen ↗
Illustration der Arbeitsumgebung
KI-Arbeitsumgebung für Code

Hier beginnt Ihre nächste Idee.

Für Windows herunterladen ↗