宽度优先搜索与深度优先搜索有什么区别?
宽度优先搜索和深度优先搜索是两种不同的图搜索算法。宽度优先搜索使用队列来实现,整个过程可以想象成一个倒立的树形:1、将源顶点放入队列的末尾;2、每次从队列的头部取出一个元素,查看这个元素所有的下一级元素,将它们放入队列的末尾;3、找到所要找的元素时结束程序;4、如果遍历整个树还没有找到,结束程序。深度优先搜索使用栈来实现,整个过程可以想象成一个倒立的树形:1、将根节点压入栈中;2、每次从栈中弹出一个元素,搜索所有在它下一级的元素,将这些元素压入栈中,并将这个元素记为它下一级元素的前驱;3、找到所要找的元素时结束程序;4、如果遍历整个树还没有找到,结束程序。因此,宽度优先搜索和深度优先搜索的主要区别在于搜索顺序和使用的数据结构不同。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请您通过400-62-96871或关注我们的公众号与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~