第二关打印二叉树
时间: 2023-07-24 11:12:13 浏览: 63
好的,下面是打印二叉树的代码实现(假设二叉树节点的数据类型为int):
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def print_tree(root: TreeNode) -> None:
"""
按照从上到下、从左到右的顺序打印二叉树
"""
if not root:
return
queue = [root]
while queue:
cur_node = queue.pop(0)
print(cur_node.val, end=' ')
if cur_node.left:
queue.append(cur_node.left)
if cur_node.right:
queue.append(cur_node.right)
```
这个函数使用了一个队列来进行层次遍历。每次从队列中取出一个节点,打印它的值并将它的左右子节点加入队列中。这样就可以保证按照从上到下、从左到右的顺序打印二叉树了。
相关问题
educoder数据结构 树 第2关:打印二叉树实验步骤
以下是打印二叉树的实验步骤:
1. 阅读题目要求,理解输入输出格式和具体要求。
2. 根据题目要求,定义二叉树结构体和节点结构体。
3. 实现创建二叉树的函数,可以通过递归方式创建,也可以通过队列方式创建。
4. 实现打印二叉树的函数,可以通过递归方式打印,也可以通过层序遍历方式打印。
5. 调用创建二叉树函数创建二叉树。
6. 调用打印二叉树函数打印二叉树。
7. 检查代码,确保没有错误,提交代码。
注意事项:
1. 在创建二叉树时,需要根据输入的节点值判断节点是否存在。
2. 在打印二叉树时,需要考虑节点值的长度对齐,可以通过字符串格式化方式实现。
3. 需要注意递归方式和非递归方式的实现区别。
创建二叉树打印二叉树
创建二叉树可以通过输入带空格的前序序列来建立二叉链表。打印二叉树的话,可以按照树的形态在屏幕上输出。具体的步骤如下:
1. 首先,根据读取的元素建立二叉链表。可以使用递归的方式来创建二叉树。首先读取根节点的值,并创建一个根节点。然后,递归地创建左子树和右子树,直到叶子节点。创建左子树时,将左子树的根节点设为当前节点的左孩子;创建右子树时,将右子树的根节点设为当前节点的右孩子。
2. 创建完二叉树后,可以进行先序、中序和后序遍历。先序遍历是先访问根节点,然后再先序遍历左子树,最后再先序遍历右子树。中序遍历是先中序遍历左子树,然后再访问根节点,最后再中序遍历右子树。后序遍历是先后序遍历左子树,然后再后序遍历右子树,最后再访问根节点。这三种遍历方法可以使用递归或非递归的方式实现。
3. 打印二叉树可以按照树的形态在屏幕上输出。可以使用层次遍历(也称为广度优先搜索)来实现。从根节点开始,依次按层遍历二叉树的每个节点,将节点的值输出到屏幕上。可以使用队列来辅助实现。