【发布时间】:2014-08-26 23:14:01
【问题描述】:
我得到了以下算法:
Breadthfirstsearch(G,s)
for each u ∈ V \ {s}
color[u]<-white
d[u]<-oo
p[u]<-Ø
color[s]<-gray
d[s]<-0
p[s]<-Ø
Q<-Ø // Q is a queue
Insert(Q,s)
while Q ≠ Ø
u<-Delete(Q)
for each v ∈ Adj(u)
if color[v]=white then
color[v]<-gray
d[v]=d[u]+1
p[v]<-u
Insert(Q,v)
color[u]<-black
Delete(Q)
x<-Q[head[Q]]
if head[Q]=length[Q] then
head[Q]<-1
else
head[Q]<-head[Q]+1
return x
在我的笔记中,有如下例子:
一开始是这样的:
在第一个“for”之后是这样的:
没看懂,为什么要从Q中删除s。
用命令u
【问题讨论】:
标签: algorithm queue breadth-first-search