CLRS算法书中BFS的疑问# JobHunting - 待字闺中
h*e
1 楼
书中声称结点不涂成灰色也不会影响算法的正确性。
我觉得这是有问题的:最短路径的长度不会有问题,但是要是
要打印出最短路径就会有问题。如下是一个简单的3个结点的
有向图:
R
/ \
/ \
v v
Y 假定BFS开始,所有结点都是白色。
从R开始,R->U, 然后R->Y,R涂成黑色。Y和U的父结点都是R。
现在到U,因为U没有涂成灰色,Y的父结点就变成U了。最后
在打印R到U的最短路径就变成R->U->Y。这显然是错的。
各位大虾看看我什么地方想错了吗?
我觉得这是有问题的:最短路径的长度不会有问题,但是要是
要打印出最短路径就会有问题。如下是一个简单的3个结点的
有向图:
R
/ \
/ \
v v
Y 假定BFS开始,所有结点都是白色。
从R开始,R->U, 然后R->Y,R涂成黑色。Y和U的父结点都是R。
现在到U,因为U没有涂成灰色,Y的父结点就变成U了。最后
在打印R到U的最短路径就变成R->U->Y。这显然是错的。
各位大虾看看我什么地方想错了吗?