K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
以下描述均针对二叉树深度优先搜索(DFS)的常规实现逻辑,二叉树节点包含val、left、right三个属性,迭代实现默认使用栈作为辅助数据结构。
实现前序遍历时,弹出栈顶节点访问后,需先将右子节点压入栈,再将左子节点压入栈,保证遍历顺序正确
实现中序遍历时,初始状态直接将根节点压入栈后即可弹出访问,再依次处理左右子节点
后序遍历的迭代实现仅能使用双栈方案,无法通过单栈加节点标记的方式实现
三种DFS遍历的递归实现与迭代实现的空间复杂度均为O(1)