下列关于树的说法,错误的是( )。
DFS 使用栈(或递归),沿一条路径走到底再回溯,适合遍历所有可能状态。注意回溯时的状态恢复。
DFS 递归遍历时注意状态回溯(恢复现场)。图遍历需要visited数组避免重复访问和死循环。
【考点】树的遍历|树的性质|二叉树与树的关系
🎯 考纲定位 GESP 七级"树与二叉树"模块,命题人卡住"遍历概念模糊"——多数学生把 DFS 默认为中序,却没意识到二叉树教材里 DFS 包含先序/中序/后序三种,命题人用"深度优先"偷换概念,专杀只背结论不追定义的选手。
🧠 解题思维 看到"二叉树中序遍历与 DFS 总是相同",立刻想到 DFS 是一类算法而非单一顺序。中序固定为左-根-右,而 DFS 若选先序是根-左-右,若选后序是左-右-根,三者完全不同。再看其他选项:B 是经典结论(任意树可转二叉树);C 依赖树的唯一路径性质;D 是树的基本定义。
🪤 陷阱拆解 A 错在"总是"二字,命题人利用"深度优先"这个模糊表述诱导你只记得中序特殊。C 看似绕,实则考查"树中任意两节点间路径唯一"——叶子若有两个祖先,必在同一条从根到叶的路径上,自然存在祖孙关系。D 是树与有向无环图的本质区别之一,若允许双父就成图而非树了。
🔄 反命题思维 把"二叉树"改成"普通树",A 选项就变成真命题(普通树只有层次遍历);若把"深度优先遍历"改成"层序遍历",答案会不同。刷到此类题先问命题人想考我树与二叉树的对应关系,还是遍历算法的多样性。