建立二叉树,并实现二叉树的遍历,先序遍历采用递归算法实现,层次遍历用非递归算法来实现,可以自己输入字母节点来购车二叉树,
时间: 2024-03-10 21:43:49 浏览: 55
好的,我可以帮你解答这个问题。以下是建立二叉树并遍历的示例代码:
```python
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def buildTree():
val = input("请输入节点值(输入'#'代表空节点):")
if val == '#':
return None
root = TreeNode(val)
root.left = buildTree()
root.right = buildTree()
return root
def preorderTraversal(root):
if root is None:
return
print(root.val, end=" ")
preorderTraversal(root.left)
preorderTraversal(root.right)
def levelTraversal(root):
if root is None:
return
queue = [root]
while queue:
node = queue.pop(0)
print(node.val, end=" ")
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
root = buildTree()
print("先序遍历结果:")
preorderTraversal(root)
print("\n层次遍历结果:")
levelTraversal(root)
```
你可以按照提示输入节点的值,其中 '#' 表示空节点。最终会输出先序遍历和层次遍历的结果。
阅读全文