题目
深度优先搜索[1]的基本思想是()。A. 总是扩展搜索树的当前扩展分支中最深的节点B. 搜索直接伸展到搜索树的最深层,直到那里的节点没有后继节点C. 节点没有后继节点,搜索算法回退到下一个还有未扩展后继节点的上层节点继续扩展D. 先扩展最新产生的(即最深的)节点
深度优先搜索[1]的基本思想是()。
A. 总是扩展搜索树的当前扩展分支中最深的节点
B. 搜索直接伸展到搜索树的最深层,直到那里的节点没有后继节点
C. 节点没有后继节点,搜索算法回退到下一个还有未扩展后继节点的上层节点继续扩展
D. 先扩展最新产生的(即最深的)节点
题目解答
答案
ACD
A. 总是扩展搜索树的当前扩展分支中最深的节点
C. 节点没有后继节点,搜索算法回退到下一个还有未扩展后继节点的上层节点继续扩展
D. 先扩展最新产生的(即最深的)节点
A. 总是扩展搜索树的当前扩展分支中最深的节点
C. 节点没有后继节点,搜索算法回退到下一个还有未扩展后继节点的上层节点继续扩展
D. 先扩展最新产生的(即最深的)节点
解析
深度优先搜索(DFS)的核心思想是尽可能深入当前分支,当无法继续前进时回溯到上层节点继续探索其他分支。本题需判断选项中哪些描述符合这一机制:
- 选项A强调“总是扩展当前最深的节点”,符合DFS优先深入的特性;
- 选项C描述了回溯机制,即节点无后继时回退到上层未扩展的分支;
- 选项D指出“先扩展最深的节点”,与DFS的执行顺序一致;
- 选项B错误,因为DFS并非“直接伸展到最深层”,而是逐步深入并可能多次回溯。
选项分析
选项A
正确。DFS的核心是优先扩展当前路径中最深的节点,即沿着一个分支尽可能深入,符合题干描述。
选项B
错误。虽然DFS会深入分支,但“直接伸展到最深层”忽略了回溯过程。实际中,DFS可能多次回溯并切换分支,而非一次性到达最深层。
选项C
正确。当当前节点无未扩展后继时,DFS会回退到上层节点,寻找其他未探索的分支继续扩展,这是回溯机制的典型体现。
选项D
正确。DFS遵循“后进先出”原则,优先处理最新生成(即最深)的节点,确保深度优先。