62 lines
2.2 KiB
PHP
62 lines
2.2 KiB
PHP
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
|
|
<link rel="stylesheet" type="text/css" media="all" href="stylesheet.css">
|
|
<title>Adjazenzmatrix und Adjazenzliste</title>
|
|
</head>
|
|
<body>
|
|
<span id="menu"><a href="index.php">zurück zur Liste</a></span>
|
|
|
|
<div id="buttons">
|
|
<form action="edit.php" method="POST">
|
|
<input type="hidden" name="filename" value="<?php echo $_SERVER['SCRIPT_FILENAME']?>">
|
|
<p>
|
|
<input type="submit" value="Seite bearbeiten">
|
|
</p>
|
|
</form>
|
|
</div>
|
|
|
|
<h1>Darstellungen von Graphen</h1>
|
|
|
|
<div class="quelle">Grafiken entnommen aus Saake, Sattler: "Algorithmen & Datenstrukturen"</div>
|
|
|
|
<h2>Adjazenzmatrix</h2>
|
|
Insbesondere bei sehr vielen Kanten ist eine Speicherung der Verbindung als nxn-Matrix sinnvoll, wobei n = Knotenanzahl |V|. Eine derartige Matrix wird als <b>Adjazenzmatrix</b> bezeichnet.<br>
|
|
Gibt es eine Kante von Knoten a zu Knoten b, wird in der Matrix in der a-ten Zeile an der b-ten Stelle ein True bzw. eine 1 eingetragen.<br><br>
|
|
|
|
<b>Beispiel eines gerichteten Graphen</b><br>
|
|
<table>
|
|
<tr>
|
|
<td><img src="gerichtetergraph.gif"></td>
|
|
<td><img src="gg.gif"></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br><br>
|
|
<b>Beispiel eines ungerichteten Graphen</b><br>
|
|
<table>
|
|
<tr>
|
|
<td><img src="ungerichtetergraph.gif"></td>
|
|
<td><img src="gu.gif"></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
Bei ungerichteten Graphen muss eigentlich nur die Hälfte gespeichert werden, da sich die andere Hälfte durch Spiegelung ergibt.
|
|
<br><br>
|
|
|
|
<h2>Adjazenzliste</h2>
|
|
Die Möglichkeit einen Graphen in einer dynamischen Datenstrucktur zu realisieren ist zum Beispiel die <b>Adjazenzliste</b>.<br>
|
|
Ein Graph wird dabei durch |V| + 1 verkette Listen dargestellt. Die Basisstruktur bildet die Liste aller Knoten. Für jeden Knoten wird eine Liste der Nachfolger entlnag gerichteter Kanten abgespeichert.<br><br>
|
|
|
|
<b>Beispiel eines gerichteten Graphen</b><br>
|
|
<table>
|
|
<tr>
|
|
<td><img src="gerichtetergraph.gif"></td>
|
|
<td><img src="adjazenzliste.gif"></td>
|
|
</tr>
|
|
</table>
|
|
|
|
</body>
|
|
</html> |