广度优先搜索通常借助队列实现,深度优先搜索通常借助栈或递归实现。
看到题先想搜索算法的实现机制:队列是先进先出(FIFO),适合按层遍历;栈是后进先出(LIFO),适合深入探索。关键观察是BFS和DFS与队列/栈的对应关系。通法是记住:BFS用队列实现,DFS用栈或递归实现。
选项陷阱在于混淆BFS与DFS的数据结构选择。学生易错点:误以为BFS用栈也能实现(实际会退化为DFS),或误以为DFS必须用递归(其实显式栈同样可行)。命题人利用的是"栈/队列都能遍历"的模糊认知,但忽略了FIFO与LIFO对遍历顺序的根本影响。
本题考查《GESP 考试大纲》七级"数据结构与算法"模块中的搜索算法实现。命题人放这道题,卡住的是绝大多数考生对队列/栈特性的理解——他们知道BFS和DFS的概念,但混淆了它们与数据结构的对应关系。
看到题先想搜索算法的实现机制:队列是先进先出(FIFO),适合按层遍历;栈是后进先出(LIFO),适合深入探索。关键观察是BFS和DFS与队列/栈的对应关系。通法是记住:BFS用队列实现,DFS用栈或递归实现。