有人可以用java代码向我解释这个伪代码吗?

问题描述 投票:-4回答:2

这是BFS的代码,我不明白这在java代码中意味着什么。像.pathlen,箭头等术语我不明白任何一个。任何人都可以澄清吗?谢谢。

Image of the code

arrays graph-theory breadth-first-search
2个回答
0
投票
  1. 遍历图g的每个顶点并将布尔值标记为未访问。
  2. 初始化顶点队列。
  3. 标记并将起始节点声明为已访问。
  4. 将起始节点的路径长度设置为0.这将是顶点类中的整数字段变量。
  5. 将第一个节点添加到队列中。
  6. 队列不为空时,请重复以下操作。
  7. 从队列中删除头节点。
  8. 对于与您移除的顶点相邻的每条边,您将遍历图上的邻接列表或矩阵,并查找靠近它的边。
  9. 如果节点的布尔变量表示未访问边缘的目标,则:
  10. 将边缘的目标添加到队列中。
  11. 将边缘的目标节点标记为已访问。
  12. 在起始节点的边缘权重之上,在边缘节点的路径长度上添加一个。

注意:如果您有加权图表,那么您可以在步骤#12上执行+1以外的操作。但是如果你加权,你不应该终止BFS,直到它在所有节点上运行。


-1
投票

Pathlen只是一个成员变量。可以把它想象成访问java类的公共变量的语法。

箭头语法是赋值的语法,相当于java的=。这意味着“把东西放在右边,然后在左侧分配那个值。”

© www.soinside.com 2019 - 2024. All rights reserved.