HHopwise
Arbeitsabläufe

Arbeitsabläufe für Code · Kürzeste gerichtete Kantendistanzen

03
Produkt

Arbeitsabläufe

Berechne kürzeste gerichtete Kantendistanzen von einem Knoten in einem Graphen mit 1 bis 1000 Knoten. Teste Zyklen, wiederholte Kanten und unerreichbare Knoten und lehne leere Graphen oder ungültige Endpunkte vor dem Durchlauf ab.

01

Anwendung herunterladen

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

02

Projektordner öffnen

Wählen Sie einen kompatiblen Endpunkt. Verfügbare Werkzeuge und Antwortqualität hängen vom konfigurierten Modell und Server ab.

03

Modell verbinden und testen

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

04

Änderungen prüfen und Tests ausführen

Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.

Kürzeste gerichtete Kantendistanzen

Arbeitsabläufe
from collections import deque

def hop_distances(graph, start):
    if type(graph) is not list or not 1 <= len(graph) <= 1000:
        raise ValueError("graph.size")
    n = len(graph)
    if type(start) is not int or not 0 <= start < n:
        raise ValueError("graph.start")
    if any(type(row) is not list or any(type(v) is not int or
           not 0 <= v < n for v in row) for row in graph):
        raise ValueError("graph.edges")
    distances = [None]*n
    distances[start] = 0
    queue = deque([start])
    while queue:
        u = queue.popleft()
        for v in graph[u]:
            if distances[v] is None:
                distances[v] = distances[u]+1
                queue.append(v)
    return distances

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

KI-Arbeitsumgebung für Code

Hier beginnt Ihre nächste Idee.

Für Windows herunterladen ↗