首页 > 其他分享 >bfs 双向宽搜

bfs 双向宽搜

时间:2023-08-22 10:59:09浏览次数:35  
标签:10 550 bfs 双向 370 节点

 

1、迷宫问题,找最短路:

  可以同时从起点和终点进行bfs,两个方向搜索的新节点分别存在不同的队列中的,若新节点在对面的状态集合中出现过,说明相遇了。

2、很多bfs问题,都可以用双向宽搜,提高效率。

3、分油问题,能不能用双向宽搜呢?

3个无刻度的油瓶的容量是10 7 3,其中分别有油 10,0 ,0,问倒几次可以 分出 5 ,5, 0?

按双向宽搜的思路:

(10, 0, 0)   倒1次 可得 (3, 7, 0)   

 (5, 5, 0)    倒1次 也可得(3, 7, 0)

那只需2步。但这是错的。

                               

虽然550到370只需1步,但370无法一步变到550,也就是方向不可逆时不能双向宽搜。

 

 

 

 

 

 

 

标签:10,550,bfs,双向,370,节点
From: https://www.cnblogs.com/flatte/p/17647942.html

相关文章

  • 剑指 Offer 36. 二叉搜索树与双向链表
    本题比较重要的有两点:1.一般认为有序的二叉搜索树,都是中序遍历。2.中序遍历的递归顺序,得到的就是排好序的,就是链表的顺序,因此只需管遍历的过程中的链表指向即可。classSolution{public://pre将来指向尾节点,head指向头节点Node*pre=nullptr,*head=nullptr;......
  • Matlab灰狼算法(GWO)优化双向长短期记忆神经网络的数据分类预测,GWO-BiLSTM分类预测,多
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 队列的内置模块(deque)--双向队列
    博客地址:https://www.cnblogs.com/zylyehuo/#-*-coding:utf-8-*-fromcollectionsimportdequeq=deque([1,2,3,4,5],5)q.append(6)#队尾进队print(q.popleft())#队首出队#用于双向队列q.appendleft(1)#队首进队q.pop()#队尾出队......
  • Matlab蛇群算法(SO)优化双向长短期记忆神经网络的数据分类预测,SO-BiLSTM分类预测,多输
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • Matlab麻雀算法(SSA)优化双向长短期记忆神经网络的数据分类预测,SSA-BiLSTM分类预测,多
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 3.1 C++ STL 双向队列容器
    双向队列容器(Deque)是C++STL中的一种数据结构,是一种双端队列,允许在容器的两端进行快速插入和删除操作,可以看作是一种动态数组的扩展,支持随机访问,同时提供了高效的在队列头尾插入和删除元素的操作。Deque双向队列容器与Vector非常相似,它不但可以在数组尾部插入和删除元素,还可以在......
  • 【校招VIP】前端vue考点之生命周期和双向绑定
    考点介绍:VUE是前端校招面试的重点,而生命周期和双向绑定又是基础考点之一,尤其在一二线公司,要求知道双向绑定的原理,以及相关代码实现。一、考点题目1、mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合?解答:mvc和mvvm其实区别并不大。都是一种设计思想。主要就是mvc中Co......
  • 3.1 C++ STL 双向队列容器
    双向队列容器(Deque)是C++STL中的一种数据结构,是一种双端队列,允许在容器的两端进行快速插入和删除操作,可以看作是一种动态数组的扩展,支持随机访问,同时提供了高效的在队列头尾插入和删除元素的操作。Deque双向队列容器与Vector非常相似,它不但可以在数组尾部插入和删除元素,还可以在......
  • 【剑指Offer】26、二叉搜索树与双向链表
    题目描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解题思路:首先要理解此题目的含义,在双向链表中,每个结点都有前后两个指针;二叉树中,每个结点都有两个指向子结点的左右指针,同时,二叉搜索树树也是一种排序......
  • 剑指 Offer 36. 二叉搜索树与双向链表(中等)
    题目:classSolution{public:Node*head=nullptr;Node*pre=nullptr;voidtraversal(Node*cur){//二叉搜索树中序遍历的顺序就是构建双向链表的顺序if(!cur)return;traversal(cur->left);if(pre){//若前置节点存在,则与当......