Hello 算法 1.2.0 繁体中文 C++ 版addVertex(int val) { int n = size(); // 向頂點串列中新增新頂點的值 vertices.push_back(val); // 在鄰接矩陣中新增一行 adjMat.emplace_back(vector(n, 0)); 第 9 章 圖 www.hello‑algo.com 195 // 在鄰接矩陣中新增一列 for (vector &row : adjList[vet]) { if (visited.count(adjVet)) continue; // 跳過已被訪問的頂點 que.push(adjVet); // 只入列未訪問的頂點 visited.emplace(adjVet); // 標記該頂點已被訪問 } } // 返回頂點走訪序列 return res; } 第 9 章 圖 www.hello‑algo.com 201 程式碼相對抽象,建議對照圖 unordered_set &visited, vector &res, Vertex *vet) { res.push_back(vet); // 記錄訪問頂點 visited.emplace(vet); // 標記該頂點已被訪問 // 走訪該頂點的所有鄰接頂點 for (Vertex *adjVet : graph.adjList[vet]) { if (visited.count(adjVet)) 0 码力 | 379 页 | 18.79 MB | 10 月前3
共 1 条
- 1













