维基百科A *寻路算法需要大量时间
我已经在C#中成功实现了A *寻路,但是速度很慢,而且我不明白为什么。我什至尝试不对openNodes列表进行排序,但仍然相同。 映射为80x80,并且有10-11个节点。 我从维基百科这里获取了伪代码 这是我的实现: public static List<PGNode> Pathfind(PGMap mMap, PGNode mStart, PGNode mEnd) { mMap.ClearNodes(); mMap.GetTile(mStart.X, mStart.Y).Value = 0; mMap.GetTile(mEnd.X, mEnd.Y).Value = 0; List<PGNode> openNodes = new List<PGNode>(); List<PGNode> closedNodes = new List<PGNode>(); List<PGNode> solutionNodes = new List<PGNode>(); mStart.G = 0; mStart.H = GetManhattanHeuristic(mStart, mEnd); solutionNodes.Add(mStart); solutionNodes.Add(mEnd); openNodes.Add(mStart); // …