Python二叉树构造与层级打印实现详解

橘子海
橘子海
发布时间:2026-10-13| 6人浏览过
原创

本文通过Python代码实例演示二叉树的节点定义与结构构建过程,并详细解析如何利用队列实现二叉树的广度优先遍历(BFS)以按层级打印节点数据。内容涵盖树类定义、节点关联及遍历算法逻辑,旨在帮助开发者理解基础数据结构及其在Python中的具体应用。

Python二叉树构建与打印实现

前言

本文将从二叉树的基础构建入手,深入解析其数据结构原理。掌握数据结构是成为优秀程序员的必要基础,缺乏这一知识储备将限制技术发展的上限。

二叉树结构定义与节点关联

接下来,我们将演示如何构建一个二叉树实例。

此处采用最标准且简洁的构建方式。


'''
树的构建:
   3
 9   20
   15  7
'''


class Tree():
  '树的实现'
  def __init__(self,data,left = 0,right = 0):
    self.left = left
    self.right = right
    self.data = data

  def __str__(self):
    return str(self.data)
# test tree


tree1 = Tree(data=15)
tree2 = Tree(data=7)
tree3 = Tree(20,tree1,tree2)
tree4 = Tree(data=9)
base = Tree(3,tree4,tree3)

实现的核心在于定义二叉树的根节点、左子节点和右子节点,并明确各节点之间的引用关系,从而形成完整的树结构。

基于队列的层级遍历打印算法

随后,我们需要编写用于打印二叉树的函数。


def function(root):
  A = []
  result = []
  if not root:
    return result
  A.append(root)
  while A:
    current_root = A.pop(0)
    result.append(current_root.data)
    if current_root.left:
      A.append(current_root.left)
    if current_root.right:
      A.append(current_root.right)
  print(result)
  return result

最后,调用上述函数并将构建好的二叉树根节点作为参数传入,即可完成打印操作。


function(base)

程序运行后的输出结果如下所示:


[3, 9, 20, 15, 7]

Process finished with exit code 0

近期工作事务繁杂,每日精力消耗较大,但依然坚持每日更新少量内容,这已逐渐形成一种习惯性的自我要求。

以上就是基于Python实现二叉树构造与打印的完整示例,希望能为读者提供有价值的参考,并欢迎大家继续支持本站的技术分享。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。