生成四层完全二叉树:代码及文本描述

本文介绍如何使用代码生成一棵四层完全二叉树,每个节点包含不重复的小于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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录