尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

python —— 满二叉树的广度优先遍历

python —— 满二叉树的广度优先遍历
📅 发布时间:2026/6/20 16:36:56

python —— 满二叉树的广度优先遍历

代码:

# 2**n - 1  # 全二叉树
# n=4 2**4 - 1 = 15
import random
node_v = [2,3,5,7,11,0,17,19,23,0,0,0,0,41,43]
# node_v = list(range(0, 15))
# random.shuffle(node_v)
# print(node_v) # [14, 4, 12, 0, 1, 13, 9, 11, 3, 5, 6, 10, 2, 7, 8]# [0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]
class TreeNode:def __init__(self, val=0, left=None, right=None):self.val = valself.left = leftself.right = right 
node_list = [TreeNode(i) for i in node_v] # 初始化生成所有节点
node_list[5], node_list[9], node_list[10], node_list[11], node_list[12] = None, None, None, None, None
print(node_list)for i in range(len(node_list)):           # 将父节点与左右节点进行连接node = node_list[i]  # TreeNode对象if 2*i+1 < len(node_list):if node != None:node.left = node_list[2*i+1]  # node.left == Noneif 2*i+2 < len(node_list):if node != None:node.right = node_list[2*i+2]"""
i = int(input("输入父节点索引号"))
f_node = node_list[i]
left_node = f_node.left
right_node = f_node.right
print(f"父节点:{f_node.val}")
print(f"左子节点:{left_node.val if left_node else None}")
print(f"右子节点:{right_node.val if right_node else None}")
"""root_node = node_list[0]
# 广度优先, 从根节点开始,按层遍历所有节点
temp_list = [root_node, ]
while temp_list:node = temp_list.pop(0)print(node.val)if node.left:temp_list.append(node.left)if node.right:temp_list.append(node.right)



运行效果:

image





本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址,还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注处,如有侵权请与博主联系。 如果未特殊标注则为原创,遵循 CC 4.0 BY-SA 版权协议。

相关新闻

  • 无参和有参URL的定义
  • 【Ubuntu】系统下VScode配置ESP-IDF插件esp-clang和Python 3报错问题
  • vue 中支持不定高的虚拟滚动的表格 vxe-table 的使用,动态高度虚拟列表高性能表格

最新新闻

  • CANN/ge GetOutputsSize API文档
  • 2026年6月最新万国中国官方售后服务电话客服网点地址一览 - 亨得利官方服务中心
  • 我热爱上班 !哈哈哈,已封
  • 2026 年郑州市厨卫屋顶防水修缮三家横向测评:吉修匠 99.8 分稳居榜首 - 吉修匠
  • 孩子近视防控全方案技术解析:配镜与干预双维度 - 起跑123
  • Gemma-3-12B-IT WebUI安全加固:HTTPS、IP白名单与频率限制实战

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号