以下是一个使用PHP实现的深度优先搜索(DFS)的实例,我们将通过一个简单的图来演示DFS的算法。

实例描述

假设我们有一个图,其中包含顶点和边,我们想要使用DFS来遍历这个图。

代码实现

```php

// 定义图的类

class Graph {

private $vertices;

private $adjacencyList;

public function __construct() {

$this->vertices = [];

$this->adjacencyList = [];

}

// 添加顶点

public function addVertex($vertex) {

$this->vertices[] = $vertex;

$this->adjacencyList[$vertex] = [];

}

// 添加边

public function addEdge($source, $destination) {

$this->adjacencyList[$source][] = $destination;

$this->adjacencyList[$destination][] = $source; // 如果是无向图,这一行是必须的

}

// 深度优先搜索

public function dfs($startVertex) {

$visited = [];

$this->dfsRecursive($startVertex, $visited);

return $visited;

}

private function dfsRecursive($vertex, &$visited) {

$visited[$vertex] = true;

echo "