以{a,b,c,d,e,f,g,h,i}为元素构造一颗二叉树,并输出他的先序遍历,中序遍历,后序遍历,层次遍历,非递归(队列),该二叉树的高度,该二叉树节点的个数
时间: 2023-10-16 16:10:39 浏览: 100
建二叉树并分别用先先序、中序和后序遍历,然后输出各遍历序列
5星 · 资源好评率100%
好的,我来回答您的问题。
首先,我们可以按照如下方式构造二叉树:
```
a
/ \
b c
/ \ \
d e f
/ \
g h
\
i
```
接下来,我们依次来输出二叉树的不同遍历方式:
- 先序遍历:a -> b -> d -> e -> c -> f -> g -> h -> i
- 中序遍历:d -> b -> e -> a -> c -> g -> f -> h -> i
- 后序遍历:d -> e -> b -> g -> i -> h -> f -> c -> a
- 层次遍历:a -> b -> c -> d -> e -> f -> g -> h -> i
- 非递归(队列)遍历:
```python
def level_order(root):
if not root:
return []
res = []
queue = [root]
while queue:
node = queue.pop(0)
res.append(node.val)
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
return res
```
- 该二叉树的高度为 4
- 该二叉树的节点个数为 9
阅读全文