加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

用python创建和遍历二叉树的方法是什么

发布时间:2022-03-29 13:59:20 所属栏目:语言 来源:互联网
导读:python怎么创建与遍历二叉树?对于二叉树内容,还是比较重要的,因此下面给大家分享使用递归的方式来实现python创建和遍历二叉树,需要的朋友可以参考学习。 树型结构是一类重要的非线性数据结构,其中以树和二叉树最为常用,是以分支关系定义的层次结构。树
       python怎么创建与遍历二叉树?对于二叉树内容,还是比较重要的,因此下面给大家分享使用递归的方式来实现python创建和遍历二叉树,需要的朋友可以参考学习。
 
       树型结构是一类重要的非线性数据结构,其中以树和二叉树最为常用,是以分支关系定义的层次结构。树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构;在计算机领域中也有广泛应用,如在编译程序中,可用树来表示源程序的语法结构;在数据库系统中,树型结构也是信息的重要组织形式之一;在机器学习中,决策树,随机森林,GBDT等是常见的树模型。
       树(Tree)是个结点的有限集。在任意一棵树中:(1)有且仅有一个特定的称为根(Root)的节点;(2)当时,其余节点可分为个互不相交的有限集其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。
 
 
       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 

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读