Ein Knoten in einem Diagramm wird als Scheitelpunkt bezeichnet (Plural -Eckices). Es wird manchmal immer noch als Knoten bezeichnet; Es kann auch als Punkt bezeichnet werden. Ein Link in einer Grafik wird als Kante bezeichnet. Es wird manchmal immer noch als Link bezeichnet; Es kann auch als Linie bezeichnet werden.
Grafik mit vielen Funktionen
Diese Abbildung zeigt ein Diagramm mit vielen Funktionen:
Die Kreise (Scheiben) sind Eckpunkte. Jede gerade Linie oder gekrümmte Linie oder Schleife ist eine Kante.
Merkmale der Grafik
Scheitel
Ein Scheitelpunkt ist ein Objekt. Es kann ein Haus sein; Es kann eine Person sein; Es kann ein abstraktes Substantiv sein; Es kann jedes Objekt sein, an das Sie sich vorstellen können.
Rand
Eine Kante ist eine Verbindung (Beziehung) zwischen zwei Eckpunkten; Die Verbindung kann abstrakt sein.
Schleife
Eine Schleife ist eine Kante, die einen Scheitelpunkt mit sich selbst verbindet.
Pfeilkante
Betrachten Sie zwei Personen: John und Peter. Wenn John Peter $ 100 ausweist und John und Peter Scheitelpunkte sind, wird die Kreditkante auf Peter hinweisen. Wenn beide Partner vergessen, dass Peter John schuld. Wenn Peter nur 75 US -Dollar an John und nicht 100 Dollar verlieh, würde ein anderer Vorsprung Peter mit John verbinden. Diese zweite Kante wird seine Pfeilspitze auf John zeigen. Im zweiten Fall gibt es zwei Kanten, wobei jeweils eine Pfeilspitze in entgegengesetzte Richtungen zeigt.
Der Scheitelpunkt, auf den eine Kante zeigt, ist ein Kopfscheitelpunkt für diese Kante. Der Scheitelpunkt, aus dem eine Kante geht, ist ein Schwanzscheitelpunkt.
Vorfall
Eine Kante verbindet zwei Eckpunkte. Die Kante soll auf beiden Scheitelpunkten vorkommen. Die Kante muss keine Pfeilspitze haben. Die beiden Eckpunkte sind als Endpunkte der Kante bekannt. Es ist möglich, ein Diagramm zu haben, in dem ein Scheitelpunkt zu keinem Rand gehört, aber das wird in diesem Tutorial nicht berücksichtigt.
Ungerichtete Grafik
Eine Kante kann ein Pfeil sein oder es nicht kann. Ein Diagramm, in dem kein Rand ein Pfeil ist, ist ein ungerichteter Diagramm. Eine Kante kann durch eine gerade Linie, eine Kurve oder eine Schleife dargestellt werden.
Gerichteter Graph
Ein Diagramm, bei dem jede Kante ein Pfeil (Richtung) ist, ist ein gerichteter Diagramm. Eine Pfeilkante kann durch eine gerade Linie mit einer Pfeilspitze oder einer Kurve mit einer Pfeilspitze oder einer Schleife mit einer Pfeilspitze dargestellt werden.
Das Fehlen einer Richtung am Rand eines ungerichteten Diagramms bedeutet, dass jede Kante des ungerichteten Diagramms bidirektional ist.
Grad eines Scheitelpunkts
Die Anzahl der Kanten, die auf einem Scheitelpunkt fällt, ist der Grad des Scheitelpunkts. Eine Schleife hat zwei Vorfälle auf einem Scheitelpunkt, daher wird eine Schleife zweimal gezählt.
Reihenfolge einer Grafik
Die Reihenfolge einer Grafik ist die Anzahl der Scheitelpunkte in der Grafik.
Multigraph
Ein Multigraph ist ein Diagramm, in dem es für einige Eckpaare mehr als eine Kante gibt. Ein ungerichteter Multigraph ist ein solches Graph, in dem die Kanten keine Anweisungen haben (keine Pfeile). Ein gerichteter Multigraph ist einer, bei dem jede Kante ein Pfeil ist, und für Paare von Scheitelpunkten, die mehr als einen Pfeil haben, ist ein Scheitelpunkt der Schwanz dieser Pfeile, und der andere Scheitelpunkt ist der Kopf derselben Pfeile. Das folgende Diagramm zeigt ein ungerichtes Multigraph:
Mehr als ein Kanten (ich.e. Mehrere Kanten) für ein Paar Eckpunkte werden auch als parallele Kanten bezeichnet.
Köcher
Ein Köcher ist ein Multigraph, das Schleifen zulässt (eine oder mehrere Schleifen). Einige Multigraphen erlauben keine Schleifen.
Einfache Grafik
Ein einfaches Diagramm ist ein Diagramm, in dem keine zwei Paare von Scheitelpunkten mehrere Kanten haben. Schleifen sind in einer einfachen Grafik nicht erlaubt.
Leere Grafik
Ein leeres Diagramm ist ein Diagramm ohne Eckpunkte und daher keine Kanten.
Gemischte Grafik
Ein gemischtes Diagramm ist ein Diagramm, in dem einige Kanten Pfeile sind und andere nicht; Mit anderen Worten: Einige Kanten haben Anweisungen, andere sind nicht gerichtet.
Gewichtete Grafik
Es ist möglich, ein Diagramm zu haben, in dem eine Zahl, die als Gewicht bezeichnet wird, jeder Kante zugeordnet ist. Einige Kanten haben die gleiche Zahl, aber die Zahlen sind im Allgemeinen unterschiedlich. Eine solche Grafik wird als gewichtete Graphe bezeichnet. Die Zahlen für ein bestimmtes Diagramm können je nach Problem Längen oder Kosten (Preise) oder Ausmaß darstellen.
Ingrade und Outdegree
Das Wortschatz, der Ingrade und der Außenbereich gelten nur für eine gerichtete Grafik. Die Grafik kann ein Multigraph sein oder nicht. Die Grafik kann Schleifen haben oder nicht.
Die Anzahl der mit einem Scheitelpunkt verbundenen Pfeilspitzen ist der Ingresse dieses Scheitelpunkts. Ein Pfeil mit einer einzelnen Pfeilspitze hat ein Kopfende und ein Heckende. Die Anzahl der an einen Scheitelpunkt verbundenen Schwänze ist der Außenbereich dieses Scheitelpunkts.
HINWEIS: Ein Diagramm mit mehreren Kanten für das Eckpunktpaar, in dem sich die mehreren Kanten in entgegengesetzte Richtungen befinden, wird in diesem Tutorial nicht behandelt.
Software -Darstellung einer Grafik
Ein Diagramm kann in der Software so dargestellt werden, wie sie auf dem Diagramm gezogen wird. Ein Diagramm kann auch in Software durch eine mathematische Matrix (zweidimensionales Array) dargestellt werden. Eine dieser Matrizen heißt Adjazenzmatrix.
Adjazenzmatrix
Eine Adjazenzmatrix ist eine quadratische Matrix. Die Überschriften für die Zeilen sind alle Scheitelpunkte, die in aufsteigender Reihenfolge geschrieben wurden. Die Überschriften für die Spalten sind immer noch die gleichen Scheitelpunkte, die in aufsteigender Reihenfolge geschrieben wurden. Das Zählen der Zeilen oder Spalten einer Matrix beginnt von 1 und nicht Null wie bei Arrays. Wenn Sie ein Element in einer Matrix identifizieren, wird die Zeilennummer zuerst vor der Spaltennummer geschrieben.
Für einen ungerichteten Graphen ist jedes Eintrag (Element) in der Adjazenzmatrix die Anzahl der Kanten, die die beiden entsprechenden Eckpunkte verbinden. Eine Schleife sollte zweimal gezählt werden. Für einen gerichteten Diagramm ist jeder Eintrag in der Adjazenzmatrix entweder die Anzahl der Kanten, die einen Zeilenscheitelpunkt hinterlassen und den entsprechenden Spaltenscheitelpunkt eingeben oder die Anzahl der Kanten hinterlassen und einen Spaltenscheitel hinterlassen und den entsprechenden Zeilenscheitelpunkt eingeben. Die Wahl ist die des Programmierers. In dieser Situation (beide Fall) sollte eine Schleife immer noch einmal gezählt werden.
Hinweis: Ein Diagramm ist ein Diagramm ist eine eigene Datenstruktur. Eine Adjazenzmatrix ist auch eine eigene Datenstruktur.
Ungerichtete Grafik und Adjazenzmatrix
Die folgenden Diagramme zeigen einen ungerichteten Graphen und die entsprechende Adjazenzmatrix:
Die führende Diagonale einer Matrix ist die Diagonale von oben links bis unten rechts. Eine ungerichtete Matrix ist symmetrisch über die führende Diagonale. Der Matrixeintrag für Zeile A und Spalte C beträgt 1, was bedeutet, dass eine Kante den Scheitelpunkt A und den Scheitelpunkt C anschließt. Der Matrixeintrag für Zeile C und Spalte B beträgt 3, was bedeutet, dass 3 Kanten den Scheitelpunkt C und den Scheitelpunkt B verbinden. Die anderen Einträge werden ähnlich erklärt.
Die Summe der Einträge für eine Zeile gibt die Anzahl der Kanten (Grad) für den entsprechenden Scheitelpunkt an. Die Summe der Einträge für Zeile A ist 2, was bedeutet, dass 2 Kanten mit dem Scheitelpunkt a verbunden sind. Die Summe der Einträge für Zeile B beträgt 6, was bedeutet, dass 6 Kanten mit dem Scheitelpunkt B verbunden sind. Der Rest der Einträge wird ähnlich erklärt.
Gerichtete Grafik und Adjazenzmatrix
Die folgenden Diagramme zeigen einen gerichteten Diagramm und die entsprechende Adjazenzmatrix:
Die Adjazenzmatrix für einen gerichteten Diagramm ist nicht unbedingt symmetrisch über die führende Diagonale. Der Matrixeintrag für Zeile A und Spalte C beträgt 1, was bedeutet, dass eine Kante von Scheitelpunkt a bis vertex c verlässt. Der Matrixeintrag für Zeile C und Spalte B beträgt 3, was bedeutet, dass 3 Kanten vom Scheitelpunkt C bis zum Scheitelpunkt B verlassen werden. Die anderen Einträge werden ähnlich erklärt.
Die Summe der Einträge für eine Spalte ergibt den Ungraat für den (Spalte) Scheitelpunkt. Die Summe der Einträge für eine Reihe gibt den Außenbereich für den (Reihe) Scheitelpunkt. Die Summe der Einträge für Spalte A ist 1, was bedeutet, dass eine Kante an den Scheitelpunkt a gerichtet ist. Die Summe der Einträge für Zeile B beträgt 2, was bedeutet, dass 2 Kanten vom Scheitelpunkt B verlassen werden. Der Rest der Einträge wird ähnlich erklärt.
Grafikoperationen
Eine Datenstruktur wie ein Diagramm besteht aus einer Reihe von Datenwerten oder einer Reihe von Objekten sowie der Beziehung zwischen den Objekten sowie den Operationen (Funktionen) zwischen den Objekten. Die Beziehungen in einer Grafik werden durch die Kanten angezeigt. Ein Diagramm sollte mindestens die folgenden Operationen haben:
benachbart (g, x, y)
G bedeutet Grafik. Dieser Vorgang überprüft, ob eine Kante den Scheitelpunkt x und den Scheitelpunkt y verbindet. Der Wert und die Position eines Eintrags in einer Matrix geben die Verbindung einer Kante an (und dessen Typ).
Nachbarn (g, x)
Dieser Vorgang gibt eine Liste aller Scheitelpunkte zurück, die direkt mit dem Scheitelpunkt x verbunden sind. Der Wert und die Position eines Eintrags in einer Matrix geben die Verbindung einer Kante an.
remove_vertex (g, x)
Dieser Vorgang entfernt einen Scheitelpunkt x aus einem Diagramm. Wenn der Scheitelpunkt keine Kante hatte, gibt es kein Problem. Wenn der Scheitelpunkt jedoch Links hatte, sollten auch die Links (Kanten) entfernt werden. Der Wert und die Position eines Eintrags in einer Matrix geben das Vorhandensein eines bestimmten Scheitelpunkts an. Wenn ein Scheitelpunkt entfernt wird, muss die Matrix neu angepasst werden.
add_vertex (g, x)
Dies fügt einen Scheitelpunkt hinzu, x ohne Kanten hinzuzufügen, oder ersetzt einen Scheitelpunkt mit Kanten, aber entfernt worden. Der Wert und die Position eines Eintrags in einer Matrix geben das Vorhandensein eines bestimmten Scheitelpunkts an. Wenn ein Scheitelpunkt hinzugefügt wird, muss die Matrix angepasst werden.
Add_Edge (g, x, y)
Diese Operation fügt eine neue Kante zwischen dem Scheitelpunkt x und dem Scheitelpunkt y hinzu, wenn die Kante nicht vorhanden war. Der Wert und die Position eines Eintrags in einer Matrix geben das Vorhandensein einer bestimmten Kante an. Wenn eine Kante hinzugefügt wird, muss die Matrix neu angepasst werden.
remove_edge (g, x, y)
Dieser Vorgang würde die Kante zwischen dem Scheitelpunkt x und dem Scheitelpunkt y entfernen, wenn die Kante dort wäre. Der Wert und die Position eines Eintrags in einer Matrix geben das Vorhandensein einer bestimmten Kante an. Wenn eine Kante entfernt wird, muss die Matrix neu angepasst werden.
get_vertex_value (g, x)
Dieser Vorgang gibt den Wert V zurück, der dem Scheitelpunkt zugeordnet ist, x. Um dies zu erreichen, benötigen Sie eine Stromversorgung von Teilmengen für Scheitelpunkte und deren Werte.
set_vertex_value (g, x, v)
Dieser Vorgang gibt einen neuen Wert, V für den mit dem Scheitelpunkt zugeordneten Wert x. Um dies zu erreichen, benötigen Sie eine Stromversorgung von Teilmengen für Scheitelpunkte und deren Werte.
Einige Grafiken assoziieren auch Werte mit ihren Kanten. Solche Diagramme benötigen die folgenden zusätzlichen Vorgänge:
get_edge_value (g, x, y)
Dieser Vorgang gibt den Wert V zurück, der der Kante zugeordnet ist (x, y). Um dies zu erreichen, benötigen Sie eine Stromversorgung von Teilmengen für Kanten und deren Werte.
set_edge_value (g, x, y, v)
Diese Operation gibt einen neuen Wert, V für den mit der Kante verbundenen Wert (x, y). Um dies zu erreichen, benötigen Sie eine Stromversorgung von Teilmengen für Kanten und deren Werte.
Abschluss
Ein Diagramm ist ein Satz von Scheitelpunkten, die mit Kanten verbunden sind. Ein Diagramm kann ungerichtet oder gerichtet werden. Die Kanten können nicht leitend oder gerichteter sein. Schleifen können in einer Grafik vorhanden oder nicht vorhanden sein. Was Sie als nächstes lernen sollten, ist festgelegt, Stromsatz und Multiset im Zusammenhang mit Diagrammen. Danach sollten Sie die verschiedenen Arten von Grafiken lernen, z.
Chrys