校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 数据结构 > 队列
题目

图的广度优先搜索算法需使用的辅助数据结构为()

A.三元组

B.队列

C.二叉树

D.

解答

正确答案是 B

广度优先用队列,深度优先用栈。
广度优先:当一个节点被加入队列时,要标记为已遍历,遍历过程中,对于队列第一个元素,遍历其所有能够能一步达到的节点,如果是标记未遍历的,将其加入队列,从第一个元素出发所有能一步直接达到的节点遍历结束后将这个元素出列。
深度优先:当遍历到某个节点A时,如果是标记未遍历,将其入栈,遍历它能够一步直接达到的节点,如果是标记未遍历,将其入栈且标记为已遍历,然后对其进行类似A的操作,否则找能够一步直接达到的节点进行类似操作。直到所有能够一步直接达到的节点都已遍历,将A出栈。
这里使用“能够能一步达到的节点”而非“与其相邻的节点”是考虑到有向图因素。
C 3条回复 评论
雨声敲敲

DFS:stack
BFS:queue

发表于 2018-10-13 11:50:13
0 0
心意

图的广度优先遍历是层次遍历,用队列做辅助 图的深度有限遍历是类似于树的先序遍历,用栈做辅助

发表于 2018-10-13 11:49:55
0 0
花花

深度优先遍历:用到了 ;广度优先遍历:用到了队列

发表于 2018-10-13 11:49:44
0 0