以下是BFS的代码,我不明白这在java代码中意味着什么。像.pathlen,箭头等术语我不理解任何一个。任何人都可以澄清吗?感谢。
答案 0 :(得分:0)
遍历图g的每个顶点,并将布尔值标记为未访问。
初始化顶点队列。
标记并声明起始节点为已访问。
将起始节点的路径长度设置为0.这将是顶点类中的整数字段变量。
将第一个节点添加到队列中。
队列不为空时,请重复以下操作。
从队列中删除头节点。
对于与您移除的顶点相邻的每条边,您都要遍历图上的邻接列表或矩阵,并查找靠近它的边。
如果节点的布尔变量表示没有访问边缘的目的地,那么:
将边缘的目的地添加到队列中。
将目标节点从边缘标记为已访问。
在起始节点的边缘权重之上,在边缘节点的路径长度上添加一个。
注意:如果您有加权图表,那么您可以在步骤#12上执行+1以外的操作。但是,如果你对BFS进行加权,那么你不应该终止BFS,直到它在所有节点上运行。
答案 1 :(得分:-1)
Pathlen只是一个成员变量。可以把它想象成访问java类的公共变量的语法。
箭头语法是赋值的语法,相当于java的=
。这意味着“把东西放在右边,然后在左边分配那个值。”