简单有向图的深搜结果和广搜结果一样。( )
这题是个典型的“语义陷阱”题。拿到题先别急着想代码,先咬文嚼字:题目说的是“结果一样”还是“访问的节点集合一样”?深搜和广搜的本质差异在于遍历顺序,顺序不同,结果自然不同。
学生最容易掉进两个坑:一是把“遍历结果”和“访问集合”混为一谈,以为只要都跑完了所有点就算结果一样;二是死记硬背遍历步骤,忽略了题目里“结果”这个词的严格定义。这两种情况都会导致误选A,掉进命题人设的语义坑里。
【考点】有向图遍历|DFS与BFS的本质差异|概念辨析
命题人这次想卡住的是那些“只背步骤、不懂本质”的同学。GESP七级图论模块里,区分算法思维与死记硬背是高频考点,这道题就是典型代表。
深搜(DFS)和广搜(BFS)的核心区别在于:深搜用栈(或递归)优先往深处挖,广搜用队列一层层往外扩。这意味着它们的访问顺序天然不同——除非图退化成一条单路径,否则顺序肯定不一样。
题目问的是“结果一样”,这里有个关键的语义陷阱。命题人故意把“访问的节点集合相同”偷换成了“结果相同”。很多学生背过“DFS和BFS都会访问所有可达节点”,就以为这句话等同于“结果一样”,从而选A。这完全是概念混淆。
如果题目改成“是否访问所有可达节点”,那选A是对的;但现在的表述是“结果”,在算法语境下,结果通常指遍历的序列或访问顺序。顺序不同,结果就不一样。所以这道题的正确答案只能选B。
思考心法:拿到这种判断题,先别急着写代码或想结构,先拆解关键词。问的是“集合”还是“顺序”?问的是“是否访问”还是“结果如何”?命题人往往就在这种细微的语义差别上挖坑。刷题时要养成习惯:看到“结果”二字,立刻联想遍历序列;看到“集合”,才联想访问的节点范围。
避坑提醒:千万别被“都访问所有点”这句话误导,以为结果就一样。这是最容易被坑的地方。记住,深搜和广搜的遍历顺序不同,结果自然不同,除非图退化成单路径。