Skip to content

Latest commit

 

History

History
84 lines (65 loc) · 2.44 KB

勘误.md

File metadata and controls

84 lines (65 loc) · 2.44 KB

勘误

在此感谢网友 @北冥有鱼 等网友发现了书中的错误,现在此进行勘误。

1

“BFS需要遍历整张图”一词并不准确。应该是从要找的路线的起始点开始遍历。并不是整张图的起始点,这里用词不准确。

2

书中第12页的代码块Search函数需要从

        /// <summary>
        /// BFS算法;
        /// </summary>
        /// <param name="origin">开始节点</param>
        /// <param name="target">目标点</param>
        /// <param name="passNodeList">最短路径列表</param>
        public static void Search(Node origin, Node target,ref List<Node> 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);
        }

修改为

        /// <summary>
        /// BFS算法;
        /// </summary>
        /// <param name="origin">开始节点</param>
        /// <param name="target">目标点</param>
        /// <param name="passNodeList">最短路径列表</param>
        public static void Search(Node origin, Node target,ref List<Node> 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