双向搜索 双向搜索算法是一种图的遍历算法用于在有向图英语directed graph中搜索从一个顶点到另一个顶点的最短路径算法同时运行两个搜索一个从初始状态正向搜索另一个从目标状态反向搜索当两者在中间汇合时搜索停止在很多情况下该算法更快假设搜索一棵分支因子b的树初始节点到目标节点的距离为d该算法的正向和反向搜索复杂度都是Obd 大O符号两者相加后远远小于普通的单项搜索算法复杂度为Obd 在A搜尋演算法中双向搜索的启发式函数可以定义为正向搜索为到目标节点的距离反向搜索为到初始节点的距离 Ira Pohl 第一个设计并实现了双向启发式搜索算法Andrew Goldberg和其他人解释了双向搜索版的戴克斯特拉算法的正确完结条件