时间:2021-05-22
树型结构是一类重要的非线性数据结构,其中以树和二叉树最为常用,是以分支关系定义的层次结构。树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构;在计算机领域中也有广泛应用,如在编译程序中,可用树来表示源程序的语法结构;在数据库系统中,树型结构也是信息的重要组织形式之一;在机器学习中,决策树,随机森林,GBDT等是常见的树模型。
树(Tree)是个结点的有限集。在任意一棵树中:(1)有且仅有一个特定的称为根(Root)的节点;(2)当时,其余节点可分为个互不相交的有限集其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。
图1 树型结构
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创建与遍历二叉树内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Python利用前序和中序遍历结果重建二叉树的方法。分享给大家供大家参考,具体如下:题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树
问题如何遍历一个二叉树遍历二叉树就是访问二叉树的每一个节点二叉树父结点下先左访问,先序遍历(根左右)例如:遍历以下的二叉树遍历结果:ABDECFPython代码
本文实例讲述了php实现的二叉树遍历算法。分享给大家供大家参考,具体如下:今天使用php来实现二叉树的遍历创建的二叉树如下图所示php代码如下所示:value.
本文实例讲述了Java完全二叉树的创建与四种遍历方法。分享给大家供大家参考,具体如下:有如下的一颗完全二叉树:先序遍历结果应该为:1245367中序遍历结果应该
二叉树是一种非常重要的数据结构。本文总结了二叉树的常见操作:二叉树的构建,查找,删除,二叉树的遍历(包括前序遍历、中序遍历、后序遍历、层次遍历),二叉搜索树的构