前言
树型结构是一类重要的非线性数据结构,其中以树和二叉树最为常用,是以分支关系定义的层次结构。树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构;在计算机领域中也有广泛应用,如在编译程序中,可用树来表示源程序的语法结构;在数据库系统中,树型结构也是信息的重要组织形式之一;在机器学习中,决策树,随机森林,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创建与遍历二叉树内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:- python数据结构之二叉树的遍历实例
- Python利用前序和中序遍历结果重建二叉树的方法
- python二叉树遍历的实现方法
- Python实现二叉树结构与进行二叉树遍历的方法详解
- python实现的二叉树定义与遍历算法实例
- Python编程实现二叉树及七种遍历方法详解
- Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
- Python实现二叉树的常见遍历操作总结【7种方法】
- Python实现二叉树前序、中序、后序及层次遍历示例代码
- python先序遍历二叉树问题