Knotengrad-Rechner
Fügen Sie eine Kantenliste ein und erhalten Sie den Grad jedes Knotens: Im Dreieck A→B, B→C, C→A hat jeder Knoten Eingangsgrad 1, Ausgangsgrad 1 und Grad 2, und die Grade ergeben 6, das Doppelte der 3 Kanten. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Der Grad eines Knotens ist die erste Zahl, die man berechnet, wenn man eine Aufgabe aus der Graphentheorie öffnet, einen Abhängigkeits-Digraphen skizziert oder einen Social-Network-Schnappschuss prüft. Dieser Knotengrad-Kalkulator nimmt eine Kantenliste entgegen, zählt Eingangs- und Ausgangsgrad für jeden vorkommenden Knoten, meldet den Gesamtgrad als deren Summe bei gerichteten Graphen und prüft das klassische Handschlaglemma: Die Summe aller Grade ist das Doppelte der Kantenzahl. Der gerichtete Modus behandelt jede Zeile als Bogen von einer Quelle zu einem Ziel; der ungerichtete Modus behandelt jede Zeile als bidirektionale Kante und zählt Schlingen mit der üblichen +2-Konvention.
Was Grad, Eingangs- und Ausgangsgrad auf einer Kantenliste bedeuten
In der Graphentheorie ist der Grad eines Knotens die Anzahl der Kantenenden, die diesen Knoten berühren. In einem gerichteten Graphen—auch Digraph genannt—ist jede Kante ein geordnetes Paar von einem Schwanz zu einem Kopf. Der Ausgangsgrad eines Knotens ist die Anzahl der Kanten, die ihn verlassen; der Eingangsgrad ist die Anzahl der Kanten, die in ihn eintreten; der Gesamtgrad ist die Summe aus Eingangs- und Ausgangsgrad.
In einem ungerichteten Graphen ist jede Kante ein ungeordnetes Paar, sodass ein Knoten einen einzigen Grad hat, der der Anzahl der inzidenten Enden entspricht, und Lehrbücher schreiben oft, dass Eingangsgrad gleich Ausgangsgrad gleich diesem gemeinsamen Grad ist, wenn der ungerichtete Fall dieselbe Notation nutzt. Schlingen zählen: In einem Digraphen trägt eine Schlinge eins zum Eingangs- und eins zum Ausgangsgrad bei; in einem ungerichteten Graphen trägt eine Schlinge zwei zum Grad bei, weil beide Enden der Schlinge am selben Knoten sitzen.
Mehrfachkanten sind erlaubt: zwei parallele Bögen von A nach B zählen beide. Knoten, die nie in der Kantenliste vorkommen, fehlen in der Ausgabe; gemeldet werden nur Knoten, die an mindestens einer Kante teilnehmen.
Wo ein Knotengrad-Kalkulator seinen Nutzen zeigt
Klassenräume und Tutoriums-Plattformen nutzen einen Knotengrad-Kalkulator, damit Lernende Eingangs- und Ausgangsgrad-Tabellen für beliebige Hausaufgaben-Graphen prüfen können, ohne Mehrfachkanten von Hand falsch zu zählen. Prüfungsgeneratoren und LMS-Auto-Bewertung brauchen ein deterministisches Orakel, das das Handschlaglemma als wahr markiert, wenn die Gradsumme dem Doppelten der Kantenzahl entspricht, und das fehlerhafte Kantenzeilen ablehnt statt stillschweigend Knoten zu erfinden. Softwareingenieure, die Paketabhängigkeiten, Aufrufgraphen oder Microservice-Verkehr modellieren, beginnen oft mit Gradverteilungen: welche Dienste haben hohen Ausgangs-Fan-out, welche Senkenknoten hohen Eingangsgrad, und ob ein Datenexport die Handschlag-Identität versehentlich gebrochen hat.
Netzwerkanalytiker und Social-Graph-Notebooks nutzen dieselben Zählungen, bevor teurere Zentralitätsmaße berechnet werden. Fehlgeschlagene Validierung wird nicht berechnet. Halten Sie Kantenlisten kompakt, fixieren Sie das geordnete vertices-Array in Tests, und Sie erhalten reproduzierbare Gradtabellen, ohne für eine erste Inzidenzprüfung eine vollständige Graphbibliothek aufzusetzen.
Anwendungsfälle
Gradtabellen für Hausaufgaben und Prüfungen
Fügen Sie eine Digraph- oder ungerichtete Kantenliste ein und prüfen Sie Eingangsgrad, Ausgangsgrad und Grad jedes Knotens gegen Lehrbuchlösungen, inklusive der Handschlag-Summe.
LMS- und Bewertungsorakel
Bewerten Sie Graphentheorie-Aufgaben mit einer deterministischen Prüfung, dass die Gradsumme dem Doppelten der Kanten entspricht und leere Knotenlabels abgelehnt werden.
Abhängigkeits- und Traffic-Fan-out-Audits
Zählen Sie Ein- und Ausgangsgrade von Diensten oder Paketen aus einer exportierten Kantenliste, bevor Sie offline Zentralität oder Zyklenerkennung ausführen.
Häufige Fragen
Wie berechnet man Eingangs- und Ausgangsgrad aus einer Kantenliste?
Senden Sie edges als [{from, to}, ...]. Bei directed true (Standard) zählt der Ausgangsgrad Zeilen, in denen der Knoten from ist, und der Eingangsgrad Zeilen, in denen er to ist; der Grad ist ihre Summe.
Was ist das Handschlaglemma?
Das handshaking lemma besagt, dass die Summe aller Knotengrade dem Doppelten der Kantenzahl entspricht.
Wie werden ungerichtete Graphen und Schlingen gezählt?
Setzen Sie directed auf false. Jede ungerichtete Kante erhöht den Grad an beiden Enden um eins; eine Schlinge um zwei. Eingangs- und Ausgangsgrad werden dem Grad gleichgesetzt für eine einheitliche Antwortform.
Werden isolierte Knoten einbezogen?
Nein. Es werden nur Knoten aufgeführt, die als Endpunkt mindestens einer Kante vorkommen. Isolierte berühren die Kantenliste nicht und beeinflussen die Handschlag-Summe daher nicht.
Zählen parallele Kanten zwischen denselben Knoten doppelt?
Ja. Mehrfachkanten sind erlaubt, jeder der beiden Bögen von A nach B erhöht also den Ausgangsgrad von A und den Eingangsgrad von B um eins. Nichts wird stillschweigend zusammengefasst oder entfernt.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/dev/graph-degree \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"edges":[{"from":"A","to":"B"},{"from":"B","to":"C"},{"from":"C","to":"A"}]}'const res = await fetch("https://api.kit.forhosting.com/dev/graph-degree", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"edges": [
{
"from": "A",
"to": "B"
},
{
"from": "B",
"to": "C"
},
{
"from": "C",
"to": "A"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/graph-degree",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"edges": [
{
"from": "A",
"to": "B"
},
{
"from": "B",
"to": "C"
},
{
"from": "C",
"to": "A"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/graph-degree", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"edges":[{"from":"A","to":"B"},{"from":"B","to":"C"},{"from":"C","to":"A"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"edges":[{"from":"A","to":"B"},{"from":"B","to":"C"},{"from":"C","to":"A"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/graph-degree", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"edges": [
{
"from": "A",
"to": "B"
},
{
"from": "B",
"to": "C"
},
{
"from": "C",
"to": "A"
}
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.graph_degree",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Ungültige Kantenzeilen scheitern mit invalid_input und werden nicht berechnet.
Eingabevertrag, Antwortform und Prüfung des Handschlaglemmas
Wenn directed true ist, ist jede Zeile ein gerichteter Bogen: der Ausgangsgrad steigt bei from, der Eingangsgrad bei to, und der Grad ist ihre Summe. Wenn directed false ist, ist jede Zeile ungerichtet: beide Endpunkte gewinnen einen Grad (eine Schlinge gewinnt zwei), und Eingangs- sowie Ausgangsgrad werden dem Grad gleichgesetzt, damit dieselbe Antwortform für beide Modi gilt. Für Digraphen impliziert derselbe Durchlauf außerdem, dass die Summe der Eingangsgrade und die der Ausgangsgrade jeweils der Kantenzahl entsprechen; die Antwort liefert diese Summen, damit Sie alle drei Identitäten in einem Aufruf prüfen können. Leere Kantenlisten sind gültig und liefern null Knoten mit wahrem Handshake. Knotenlabels dürfen Zeichenketten oder endliche Zahlen sein und werden zu getrimmten Zeichenketten normalisiert; leere Labels und Nicht-Objekt-Zeilen scheitern mit invalid_input unter Nennung des Feldes. Das optionale Flag directed ist standardmäßig true. Bei Erfolg enthält der Body directed, edge_count, vertex_count, ein vertices-Array von Datensätzen mit id, in_degree, out_degree und degree, die Aggregate sum_in_degree, sum_out_degree und sum_degree, handshake_holds, handshake_expected (stets das Doppelte von edge_count) und eine kurze formula-Zeichenkette. Das Handschlaglemma—auch handshaking lemma genannt—besagt, dass die Summe aller Knotengrade dem Doppelten der Kantenzahl entspricht. Höchstens fünftausend Kanten werden pro Anfrage akzeptiert, damit Browser- und Worker-Pfade begrenzt bleiben.
Wo ein Knotengrad-Kalkulator seinen Nutzen zeigt
Content-Sites, die auf Knotengrad-Kalkulator ranken, profitieren von einem kostenlosen Browser-Tool, dessen reine Logik bytegenau mit der bezahlten API übereinstimmt. Weil die Implementierung reines Parse-Tier A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002 ohne Modell-Tokens und ohne ausgehendes Netz.
Technische Fragen
Was kostet der Knotengrad-Kalkulator?
Das Browser-Tool ist kostenlos. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.