# 勘误 在此感谢网友 @北冥有鱼 等网友发现了书中的错误,现在此进行勘误。 ## 1 “BFS需要遍历整张图”一词并不准确。应该是从要找的路线的起始点开始遍历。并不是整张图的起始点,这里用词不准确。 ## 2 书中第12页的代码块Search函数需要从 ``` /// /// BFS算法; /// /// 开始节点 /// 目标点 /// 最短路径列表 public static void Search(Node origin, Node target,ref List passNodeList) { passNodeList.Clear(); for (int i = 1; i < mapLengh; i++) { for (int j = 0; j < mapWidth; j++) { //如果没有访问该节点,就访问它; if (!map[i,j].bVisit) { BFSSearch(map[i,j],origin,target,ref passNodeList); } } } // 这里是保存最短路径; Node curentNode = map[target.X, target.Y]; while (curentNode.Value!=origin.Value) { passNodeList.Add(curentNode); curentNode = curentNode.parent; } passNodeList.Add(origin); } ``` 修改为 ``` /// /// BFS算法; /// /// 开始节点 /// 目标点 /// 最短路径列表 public static void Search(Node origin, Node target,ref List passNodeList) { passNodeList.Clear(); BFSSearch(origin, origin, target, ref passNodeList); // 这里是保存最短路径; Node curentNode = map[target.X, target.Y]; while (curentNode.Value!=origin.Value) { passNodeList.Add(curentNode); curentNode = curentNode.parent; } passNodeList.Add(origin); } ``` ## 3 感谢网友 @小小凡仙 网友发现了书中的错误,现在此进行勘误。 85页代码注视部分 并行顺序节点:一False则返回False,全True才返回True 这句话中的顺序应该改为选择 ![mistake](./mistake.jpg)