


So schreiben Sie mit PHP einen Tiefensuchalgorithmus für Diagramme
So schreiben Sie mit PHP einen Tiefensuchalgorithmus für einen Graphen
Die Tiefensuche (DFS) ist ein Graph-Traversal-Algorithmus, der einen Zweig im Graphen so tief wie möglich untersucht, bis eine Fortsetzung nicht mehr möglich ist. Kehren Sie dann zum vorherigen Knoten zurück und erkunden Sie weitere Zweige, bis alle Knoten besucht wurden. In diesem Artikel lernen wir, wie man mit PHP einen Tiefensuchalgorithmus für Diagramme schreibt.
Zuerst erstellen wir eine Knotenklasse, um die Knoten im Diagramm darzustellen:
class Node { public $value; public $visited; public $neighbors; public function __construct($value) { $this->value = $value; $this->visited = false; $this->neighbors = array(); } public function addNeighbor($neighbor) { array_push($this->neighbors, $neighbor); } }
Jeder Knoten hat einen Wert, ein besuchtes Tag und ein Array von Nachbarn. Im Konstruktor initialisieren wir diese Eigenschaften.
Als nächstes erstellen wir eine Diagrammklasse und implementieren den Tiefensuchalgorithmus:
class Graph { public $nodes; public function __construct() { $this->nodes = array(); } public function addNode($value) { $node = new Node($value); array_push($this->nodes, $node); } public function getNode($value) { foreach ($this->nodes as $node) { if ($node->value == $value) { return $node; } } return null; } public function addEdge($value1, $value2) { $node1 = $this->getNode($value1); $node2 = $this->getNode($value2); $node1->addNeighbor($node2); $node2->addNeighbor($node1); } public function depthFirstSearch($startNode) { $stack = new SplStack(); $stack->push($startNode); $startNode->visited = true; while (!$stack->isEmpty()) { $currentNode = $stack->pop(); echo $currentNode->value . " "; foreach ($currentNode->neighbors as $neighbor) { if (!$neighbor->visited) { $stack->push($neighbor); $neighbor->visited = true; } } } } }
Der Konstruktor initialisiert ein leeres Knotenarray. Die Methode addNode wird verwendet, um dem Diagramm einen neuen Knoten hinzuzufügen, und die Methode getNode wird verwendet, um das Knotenobjekt über den Knotenwert abzurufen.
Die addEdge-Methode wird verwendet, um eine Kante zwischen zwei Knoten hinzuzufügen. Diese Kante und andere Kanten sind bidirektional. Die Methode DepthFirstSearch verwendet einen Stapel, um den Tiefensuchalgorithmus zu implementieren. Zunächst wird der Startknoten auf den Stapel geschoben und als besucht markiert. Dann wird der aktuelle Knoten vom Stapel entfernt, der Wert des Knotens wird ausgegeben und seine nicht besuchten Nachbarknoten werden auf den Stapel verschoben und als besucht markiert. Wiederholen Sie diesen Vorgang, bis der Stapel leer ist.
Hier ist ein Anwendungsbeispiel:
$graph = new Graph(); $graph->addNode("A"); $graph->addNode("B"); $graph->addNode("C"); $graph->addNode("D"); $graph->addNode("E"); $graph->addEdge("A", "B"); $graph->addEdge("A", "C"); $graph->addEdge("B", "D"); $graph->addEdge("C", "E"); echo "Depth First Search: "; $graph->depthFirstSearch($graph->getNode("A"));
Die Ausgabe ist: A B D C E
Wir haben ein Diagramm erstellt und einige Knoten und Kanten hinzugefügt. Rufen Sie dann die Methode DepthFirstSearch auf, um eine Tiefensuche ausgehend vom Knoten „A“ durchzuführen.
Das Obige ist der Beispielcode für die Verwendung von PHP zum Schreiben eines Tiefensuchalgorithmus für Diagramme. Die Tiefensuche ist ein leistungsstarker Graph-Traversal-Algorithmus, der für die Lösung einiger graphbezogener Probleme sehr nützlich ist.
Das obige ist der detaillierte Inhalt vonSo schreiben Sie mit PHP einen Tiefensuchalgorithmus für Diagramme. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In diesem Artikel wird ausführlich erläutert, wie PHP Zeilen in CSV formatiert und Dateizeiger schreibt. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas daraus lernen können. Zeilen in CSV formatieren und in den Dateizeiger schreiben Schritt 1: Dateizeiger öffnen $file=fopen("path/to/file.csv","w"); in CSV-Strings umwandeln. Die Funktion akzeptiert die folgenden Parameter: $file: Dateizeiger $fields: CSV-Felder als Array $delimiter: Feldtrennzeichen (optional) $enclosure: Feldanführungszeichen (

In diesem Artikel wird das Ändern der aktuellen umask in PHP ausführlich erläutert. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. Überblick über die Änderung der aktuellen umask durch PHP umask ist eine PHP-Funktion, mit der die Standarddateiberechtigungen für neu erstellte Dateien und Verzeichnisse festgelegt werden. Es akzeptiert ein Argument, eine Oktalzahl, die die Blockierungsberechtigung darstellt. Um beispielsweise die Schreibberechtigung für neu erstellte Dateien zu verhindern, würden Sie 002 verwenden. Methoden zum Ändern von umask Es gibt zwei Möglichkeiten, die aktuelle umask in PHP zu ändern: Verwendung der Funktion umask(): Die Funktion umask() ändert direkt die aktuelle umask. Seine Syntax ist: intumas

In diesem Artikel wird ausführlich erklärt, wie man in PHP eine Datei mit einem eindeutigen Dateinamen erstellt. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit und hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. Erstellen von Dateien mit eindeutigen Dateinamen in PHP Einführung Das Erstellen von Dateien mit eindeutigen Dateinamen in PHP ist für die Organisation und Verwaltung Ihres Dateisystems unerlässlich. Eindeutige Dateinamen stellen sicher, dass vorhandene Dateien nicht überschrieben werden und erleichtern das Auffinden und Abrufen bestimmter Dateien. In diesem Handbuch werden verschiedene Möglichkeiten zum Generieren eindeutiger Dateinamen in PHP behandelt. Methode 1: Verwenden Sie die Funktion uniqid(). Die Funktion uniqid() generiert eine eindeutige Zeichenfolge basierend auf der aktuellen Zeit und den Mikrosekunden. Diese Zeichenfolge kann als Grundlage für den Dateinamen verwendet werden.

In diesem Artikel wird ausführlich erläutert, wie PHP den MD5-Hash von Dateien berechnet. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. PHP berechnet den MD5-Hash einer Datei. MD5 (MessageDigest5) ist ein Einweg-Verschlüsselungsalgorithmus, der Nachrichten beliebiger Länge in einen 128-Bit-Hashwert fester Länge umwandelt. Es wird häufig verwendet, um die Dateiintegrität sicherzustellen, die Datenauthentizität zu überprüfen und digitale Signaturen zu erstellen. Berechnen des MD5-Hash einer Datei in PHP PHP bietet mehrere Methoden zum Berechnen des MD5-Hash einer Datei: Verwenden Sie die Funktion md5_file(). Die Funktion md5_file() berechnet direkt den MD5-Hash-Wert der Datei und gibt einen 32-stelligen Wert zurück

In diesem Artikel wird die digitale Kodierung der von PHP im vorherigen MySQL-Vorgang zurückgegebenen Fehlermeldung ausführlich erläutert. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können . . Verwenden von PHP zum Zurückgeben von MySQL-Fehlerinformationen Einführung in die numerische Kodierung Bei der Verarbeitung von MySQL-Abfragen können Fehler auftreten. Um diese Fehler effektiv behandeln zu können, ist es wichtig, die numerische Kodierung von Fehlermeldungen zu verstehen. Dieser Artikel führt Sie durch die Verwendung von PHP, um die numerische Kodierung von MySQL-Fehlermeldungen zu erhalten. Methode zum Erhalten der numerischen Kodierung von Fehlerinformationen 1. mysqli_errno() Die Funktion mysqli_errno() gibt die aktuellste Fehlernummer der aktuellen MySQL-Verbindung zurück. Die Syntax lautet wie folgt: $erro

In diesem Artikel wird ausführlich erläutert, wie PHP Dateien auf eine bestimmte Länge kürzt. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. Einführung in die PHP-Dateikürzung Die Funktion file_put_contents() in PHP kann verwendet werden, um Dateien auf eine bestimmte Länge zu kürzen. Unter Abschneiden versteht man das Entfernen eines Teils des Endes einer Datei, wodurch die Dateilänge verkürzt wird. Syntax file_put_contents($filename,$data,SEEK_SET,$offset);$filename: der Dateipfad, der gekürzt werden soll. $data: Leerer String, der in die Datei geschrieben werden soll. SEEK_SET: Wird als Anfang der Datei bezeichnet

In diesem Artikel wird ausführlich erläutert, wie PHP nach dem Umdrehen eines Schlüsselwerts ein Array zurückgibt. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. PHP-Schlüsselwert-Flip Der Array-Schlüsselwert-Flip ist eine Operation für ein Array, bei der die Schlüssel und Werte im Array ausgetauscht werden, um ein neues Array mit dem ursprünglichen Schlüssel als Wert und dem ursprünglichen Wert als Schlüssel zu generieren. Implementierungsmethode In PHP können Sie das Schlüsselwert-Umdrehen eines Arrays mit den folgenden Methoden durchführen: array_flip()-Funktion: Die array_flip()-Funktion wird speziell für Schlüsselwert-Umdrehungsvorgänge verwendet. Es erhält ein Array als Argument und gibt ein neues Array mit vertauschten Schlüsseln und Werten zurück. $original_array=[

In diesem Artikel wird das Einrichten symbolischer Verbindungen in PHP ausführlich erläutert. Der Herausgeber hält es für sehr praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. Einführung in die Einrichtung symbolischer Links in PHP Ein symbolischer Link ist ein spezieller Dateityp, der auf eine andere Datei oder ein anderes Verzeichnis verweist. Wenn auf einen symbolischen Link zugegriffen wird, leitet das System automatisch zur Zieldatei oder zum Zielverzeichnis um, als würde es direkt auf die Originaldatei oder das Originalverzeichnis zugreifen. In PHP können Sie die Funktion symlink() verwenden, um symbolische Links zu erstellen. Syntax symlink(string$target,string$link) wobei: $target: Der Pfad zur Zieldatei oder zum Zielverzeichnis, die/das verlinkt werden soll. $link: Der Pfad des symbolischen Links. Ginseng
