Die Adjazenzmatrix bildet einen Graphen mit n Knoten als n×n-Tabelle ab. Der Eintrag in Zeile i und Spalte j sagt, ob eine Kante von Knoten i zu Knoten j führt: 1 für „ja“, 0 für „nein“ — bei gewichteten Graphen steht dort das Kantengewicht.

Beispiel

Vier Knoten A, B, C, D mit den Kanten AB, AC, BD und CD ergeben folgende Matrix:

    A  B  C  D
A [ 0  1  1  0 ]
B [ 1  0  0  1 ]
C [ 1  0  0  1 ]
D [ 0  1  1  0 ]

Die Matrix ist symmetrisch, weil der Graph ungerichtet ist: Eine Kante von A nach B existiert genau dann, wenn auch eine von B nach A existiert. Bei gerichteten Graphen entfällt die Symmetrie.

Eigenschaften

  • Kantenabfrage: O(1) — der Zugriff auf Matrix[i][j] beantwortet die Frage sofort.
  • Platzbedarf: O(n²) — auch ein Graph mit nur wenigen Kanten belegt die komplette Tabelle.
  • Dichte Graphen: sind hier im Vorteil; bei vielen Kanten ist die Matrix oft kompakter als eine Adjazenzliste mit ihren Verweiskosten.

Im Vergleich zur Adjazenzliste

Die Adjazenzliste benötigt nur O(V + E) Speicher und liefert die Nachbarn eines Knotens schneller; die Adjazenzmatrix punktet bei der Kantenabfrage und bei dichten Graphen. Der Dijkstra-Algorithmus lässt sich mit beiden Darstellungen implementieren: mit der Matrix erreicht die einfache Variante O(V²), mit einer Heap-gestützten Adjazenzliste ist sie schneller.