B2.4.4–5 · HL 递归

二叉树遍历 · HL 应用

Python · 逐步执行

二叉树遍历 · HL 应用

中序遍历依次访问左子树、当前节点和右子树。

选择“播放”或“下一行”,跟踪 Python 的执行过程。

Python 实现

高亮表示下一条将执行的语句。数值显示执行该行之前的状态。

visits = []def tree_traversal(node):    if node is None:        return    tree_traversal(node["left"])    visits.append(node["value"])    tree_traversal(node["right"])

B2.4.4 应用,不属于 B2.4.5 对分支代码的要求。每个字典代表一个节点;None 表示没有子节点。此树是二叉搜索树,因此中序遍历输出有序结果。每个节点仅访问一次:时间复杂度为 O(n),辅助栈空间为 O(h),其中 h 为树高,不计输出日志。

继续探索

返回递归课程 →

所有 B2.4 动画 →

所有练习与资源 →