Graph 如何使用BFS求循环图的直径?
对于顶点数大于5的循环图,在每个节点中运行BFS并从这些长度中选取最大值将停止工作 例如: 以循环方式从1到6为每个顶点编号 现在,使用BFS:-从节点1:Graph 如何使用BFS求循环图的直径?,graph,vertex,breadth-first-search,cyclic,Graph,Vertex,Breadth First Search,Cyclic,对于顶点数大于5的循环图,在每个节点中运行BFS并从这些长度中选取最大值将停止工作 例如: 以循环方式从1到6为每个顶点编号 现在,使用BFS:-从节点1: 将节点1取出,在队列中添加2和6,将长度增加1 取出节点2,在队列中添加3,将长度增加1 取出节点6,在队列中添加5,将长度增加1 取出节点3,在队列中添加4,将长度增加1 取出节点5,不执行任何操作 取出节点4,不执行任何操作 长度已等于4,大于直径。BFS在您的示例中找到了正确的直径 它有两条独立的路径:和 取最长路径,取第一个和最后
长度已等于4,大于直径。BFS在您的示例中找到了正确的直径 它有两条独立的路径:
和
取最长路径
,取第一个和最后一个节点之间的距离,即路径中的节点数减去1。它给出了循环图的直径4-1=3
。BFS在您的示例中找到了正确的直径
它有两条独立的路径:
和
取最长路径
,取第一个和最后一个节点之间的距离,即路径中的节点数减去1。它给出了循环图的直径4-1=3