您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python创建与遍历二叉树的方法实例

51自学网 2021-10-30 22:46:54
  python
这篇教程python创建与遍历二叉树的方法实例写得很实用,希望能帮到您。

前言

树型结构是一类重要的非线性数据结构,其中以树和二叉树最为常用,是以分支关系定义的层次结构。树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构;在计算机领域中也有广泛应用,如在编译程序中,可用树来表示源程序的语法结构;在数据库系统中,树型结构也是信息的重要组织形式之一;在机器学习中,决策树,随机森林,GBDT等是常见的树模型。

树(Tree)是个结点的有限集。在任意一棵树中:(1)有且仅有一个特定的称为根(Root)的节点;(2)当时,其余节点可分为个互不相交的有限集其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。

图1 树型结构

python创建与遍历二叉树

python创建和遍历二叉树,可以使用递归的方式,源代码如下:

#!/usr/bin/python class node():	def __init__(self,k=None,l=None,r=None):		self.key=k;		self.left=l;		self.right=r; def create(root):	a=raw_input('enter a key:');	if a is '#':		root=None;	else:		root=node(k=a);		root.left=create(root.left);		root.right=create(root.right);	return root; def preorder(root):  #前序遍历	if root is None:		return ;	else :		print root.key;		preorder(root.left);		preorder(root.right); def inorder(root):  #中序遍历	if root is None:		return ;	else:		inorder(root.left);		print root.key;		inorder(root.right); def postorder(root): # 后序遍历	if root is None:		return ;	else :		postorder(root.left);		postorder(root.right);		print root.key;		root=None;  # 测试代码root=create(root);preorder(root);inorder(root);postorder(root); 

运行程序,建立二叉树如图:

前序遍历结果为: a  b  c  d  e  f

中序遍历结果为:c  b  d  a  f  e 

后序遍历结果为:c  d  b  f  e  a 

总结

到此这篇关于python创建与遍历二叉树的文章就介绍到这了,更多相关python创建与遍历二叉树内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


python模块中判断全局变量的赋值的实例讲解
tensorflow学习笔记之tfrecord文件的生成与读取
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。