#JC1043. 广度优先搜索(二)
广度优先搜索(二)
一、单项选择题(每题2分,共20分)
1、关于BFS和DFS求最短路径说法正确的是?() {{ select(1) }}
- DFS第一次搜到目标,一定是最短路径
- BFS第一次搜到目标,就是最短路径
- DFS和BFS都能直接得到最短路径
- 求最短路径优先使用DFS递归
2、BFS求最短路径时,结构体node需要新增哪个成员?() {{ select(2) }}
- vis
- mp
- step
- dx
3、BFS求最短路径,起点入队时step的值设置为?() {{ select(3) }}
- 1
- 0
- 2
- -1
4、新生成的相邻结点入队,它的step值应该为?() {{ select(4) }}
- 固定等于0
- 当前队首结点的step + 1
- 当前队首结点的step
- 固定等于1
5、海上营救题目允许8个方向移动,dx、dy数组的长度应该是?() {{ select(5) }}
- 2
- 4
- 8
- 16
6、“奇怪的电梯”属于一维BFS,结点中不需要存储下面哪一项?() {{ select(6) }}
- 当前楼层
- step步数
- x行坐标
- 以上都不对
7、BFS搜索结束,始终没有找到目标点,应该输出?() {{ select(7) }}
- 0
- 1
- -1
- step
8、象走田的题目,关于地图数组说法正确的是?() {{ select(8) }}
- 必须读取二维地图
- 不需要地图数组,只做边界和访问标记
- 地图只存障碍物
- 地图用来存储步数
9、下面哪一个是BFS和DFS的共同点?() {{ select(9) }}
- 使用队列实现
- 搜索都需要vis标记数组
- 第一次找到目标就是最短路径
- 使用递归实现
10、马走日题型,BFS过程同时寻找A、B两个目标点,什么时候可以结束搜索?() {{ select(10) }}
- 找到A就立刻结束
- 找到B就立刻结束
- A和B都找到之后结束
- 队列刚入队起点就结束
二、判断题(每题2分,共10分)
11、DFS第一次找到终点不一定是最短路径,需要全部遍历对比步数。() {{ select(11) }}
- 正确
- 错误
12、BFS中,应当取出队首元素之后再给vis打标记。() {{ select(12) }}
- 正确
- 错误
13、8方向搜索和4方向搜索,代码整体框架不变,只需要更换dx、dy方向数组。() {{ select(13) }}
- 正确
- 错误
14、奇怪的电梯一维BFS,vis标记数组依然需要定义成二维数组。() {{ select(14) }}
- 正确
- 错误
15、BFS求最短路径,判断到达目标点后直接输出step并return结束函数。() {{ select(15) }}
- 正确
- 错误