生成四层完全二叉树:代码及文本描述
生成四层完全二叉树:代码及文本描述
本文介绍如何使用代码生成一棵四层完全二叉树,每个节点包含不重复的小于100的整数。同时提供文本描述示例,帮助您直观理解二叉树的形状。
文本描述示例
一棵四层的完全二叉树的形状可以使用文本描述如下:
50
/ \
23 87
/ \ / \
11 29 65 93
/ \ / \
4 15 55 72
在这棵二叉树中,根节点为50,第一层只有一个节点。第二层有两个节点,分别是23和87,它们是根节点的左右子节点。第三层有四个节点,分别是11、29、65和93,它们是23和87的左右子节点。第四层有八个节点,分别是4、15、55、72,以及没有左右子节点的节点。这棵树中总共有15个节点。
代码示例
import random
class Node:
def __init__(self, data):
self.data = data
self.left = None
self.right = None
def create_complete_binary_tree(depth):
if depth == 0:
return None
root = Node(random.randint(1, 100))
if depth == 1:
return root
root.left = create_complete_binary_tree(depth - 1)
root.right = create_complete_binary_tree(depth - 1)
return root
# 生成四层完全二叉树
root = create_complete_binary_tree(4)
# 输出树的文本描述
# ... (此处需要添加代码将树结构转换为文本描述)
代码说明
代码示例中,create_complete_binary_tree 函数递归地生成完全二叉树。每个节点的值使用 random.randint(1, 100) 随机生成,确保节点值不重复。
注意:
- 文本描述示例只展示了树的形状,实际生成的树的节点值会随机变化。
- 代码示例中缺少将树结构转换为文本描述的代码部分,请根据实际情况补充代码。
原文地址: https://www.cveoy.top/t/topic/o6n4 著作权归作者所有。请勿转载和采集!