深度广度优先遍历有什么用 为什么不直接遍历数组
答案:2 悬赏:50 手机版
解决时间 2021-11-27 02:34
- 提问者网友:相思似海深
- 2021-11-26 07:08
深度广度优先遍历有什么用 为什么不直接遍历数组
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-11-26 08:19
广度优先遍历从某个顶点v出发,首先访问这个结点,并将其标记为已访问过;
然后顺序访问结点v的所有未被访问的邻接点{vi,..,vj},并将其标记为已访问过;
然后将{vi,...,vj}中的每一个节点重复节点v的访问方法,直到所有结点都被访问完为止。
具体代码实现时:
我们可以使用一个辅助队列q,首先将顶点v入队,将其标记为已访问,然后循环检测队列是否为空;
如果队列不为空,则取出队列第一个元素,并将与该元素相关联的所有未被访问的节点入队,将这些节点标记为已访问;
如果队列为空,则说明已经按照广度优先遍历了所有的节点。
然后顺序访问结点v的所有未被访问的邻接点{vi,..,vj},并将其标记为已访问过;
然后将{vi,...,vj}中的每一个节点重复节点v的访问方法,直到所有结点都被访问完为止。
具体代码实现时:
我们可以使用一个辅助队列q,首先将顶点v入队,将其标记为已访问,然后循环检测队列是否为空;
如果队列不为空,则取出队列第一个元素,并将与该元素相关联的所有未被访问的节点入队,将这些节点标记为已访问;
如果队列为空,则说明已经按照广度优先遍历了所有的节点。
全部回答
- 1楼网友:行雁书
- 2021-11-26 09:16
虽然是用数组存储的,但是数组存储是没有顶点见的关系的。比如你从0~N遍历完数组,结果是什么关系都没体现出来(图顶点间关系)。而遍历是根据顶点间关系进行遍历的。这样,是按照图顶点间的关系进行遍历,那么结果是不一样的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯