企业网站怎做破解付费wordpress主题
news/
2025/10/5 15:19:31/
文章来源:
企业网站怎做,破解付费wordpress主题,上海建设网站哪家好,怎么自己制作网址功能扩展说明#xff1a; 图类封装#xff1a;将图数据结构封装为类#xff0c;提高代码复用性 最短路径查找#xff1a;基于BFS实现未加权图的最短路径查找 路径重构#xff1a;通过parent数组回溯构建完整路径 异常处理#xff1a;当路径不存在时返回空向量 复杂度分析…功能扩展说明 图类封装将图数据结构封装为类提高代码复用性 最短路径查找基于BFS实现未加权图的最短路径查找 路径重构通过parent数组回溯构建完整路径 异常处理当路径不存在时返回空向量 复杂度分析 时间复杂度O(V E) 空间复杂度O(V) 适用场景 社交网络中的好友推荐 网页爬虫的URL抓取策略 游戏中的AI寻路算法 网络路由的最短路径查找 此实现可根据需要进一步扩展为带权图的BFS只需改用优先队列并考虑权重即可。
#include iostream
#include vector
#include queue
#include unordered_map
#include algorithmusing namespace std;// 图的邻接表表示法
class Graph {
private:int V; // 顶点数vectorvectorint adj; // 邻接表public:// 构造函数Graph(int vertices) : V(vertices), adj(vertices) {}// 添加边无向图void addEdge(int u, int v) {adj[u].push_back(v);adj[v].push_back(u); // 有向图则去掉这行}// 广度优先搜索vectorint BFS(int start) {vectorbool visited(V, false);vectorint traversal_order;queueint q;visited[start] true;q.push(start);while (!q.empty()) {int current q.front();q.pop();traversal_order.push_back(current);// 遍历所有邻接节点for (int neighbor : adj[current]) {if (!visited[neighbor]) {visited[neighbor] true;q.push(neighbor);}}}return traversal_order;}// 查找最短路径未加权图vectorint shortestPath(int start, int end) {vectorbool visited(V, false);vectorint parent(V, -1);queueint q;visited[start] true;q.push(start);while (!q.empty()) {int current q.front();q.pop();if (current end) break;for (int neighbor : adj[current]) {if (!visited[neighbor]) {visited[neighbor] true;parent[neighbor] current;q.push(neighbor);}}}// 重构路径vectorint path;for (int at end; at ! -1; at parent[at]) {path.push_back(at);}reverse(path.begin(), path.end());return path[0] start ? path : vectorint();}
};int main() {// 创建图Graph g(6);g.addEdge(0, 1);g.addEdge(0, 2);g.addEdge(1, 3);g.addEdge(1, 4);g.addEdge(2, 4);// 执行BFScout BFS遍历顺序: ;vectorint traversal g.BFS(0);for (int node : traversal) {cout node ;}cout endl;// 查找最短路径cout 从0到4的最短路径: ;vectorint path g.shortestPath(0, 4);for (int node : path) {cout node ;}cout endl;return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928398.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!