python二叉树的实现实例


Posted in Python onNovember 21, 2013

树的定义

树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构都可用树形象表示。树在计算机领域中也得到广泛应用,如在编译源程序时,可用树表示源程序的语法结构。又如在数据库系统中,树型结构也是信息的重要组织形式之一。一切具有层次关系的问题都可用树来描述。
树结构的特点是:它的每一个结点都可以有不止一个直接后继,除根结点外的所有结点都有且只有一个直接前驱。
树的递归定义如下:(1)至少有一个结点(称为根)(2)其它是互不相交的子树

二叉树: 
二叉树是由n(n≥0)个结点组成的有限集合、每个结点最多有两个子树的有序树。它或者是空集,或者是由一个根和称为左、右子树的两个不相交的二叉树组成。

二叉树特点:
(1)二叉树是有序树,即使只有一个子树,也必须区分左、右子树;
(2)二叉树的每个结点的度不能大于2,只能取0、1、2三者之一;
(3)二叉树中所有结点的形态有5种:空结点、无左右子树的结点、只有左子树的结点、只有右子树的结点和具有左右子树的结点。

二叉树基本的数据结构

#!/usr/bin/python
# -*- coding: utf-8 -*-
class TreeNode(object):
    def __init__(self,data,left,right):
        self.data = data
        self.left = left
        self.right = right

class BTree(object):
    def __init__(self,root=0):
        self.root = root
Python 相关文章推荐
python之wxPython应用实例
Sep 28 Python
详解Python中列表和元祖的使用方法
Apr 25 Python
在Python程序中进行文件读取和写入操作的教程
Apr 28 Python
Python通过DOM和SAX方式解析XML的应用实例分享
Nov 16 Python
简单了解python模块概念
Jan 11 Python
Python实现基于C/S架构的聊天室功能详解
Jul 07 Python
Python实现矩阵相乘的三种方法小结
Jul 26 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
Oct 14 Python
浅析python中while循环和for循环
Nov 19 Python
浅谈python输出列表元素的所有排列形式
Feb 26 Python
Python3 获取文件属性的方式(时间、大小等)
Mar 12 Python
keras的load_model实现加载含有参数的自定义模型
Jun 22 Python
python冒泡排序算法的实现代码
Nov 21 #Python
python选择排序算法的实现代码
Nov 21 #Python
python插入排序算法的实现代码
Nov 21 #Python
python快速排序代码实例
Nov 21 #Python
python二分法实现实例
Nov 21 #Python
Python列表推导式的使用方法
Nov 21 #Python
python调用shell的方法
Nov 20 #Python
You might like
博士208HAF收音机实习报告
2021/03/02 无线电
当年上海收录机产品生产,进口和价格情况
2021/03/04 无线电
PHP ajax 分页类代码
2008/11/13 PHP
php flv视频时间获取函数
2010/06/29 PHP
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
PHP获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2016/07/27 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
Vue 打包体积优化方案小结
2020/05/20 Javascript
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
python使用TensorFlow进行图像处理的方法
2018/02/28 Python
pyhton列表转换为数组的实例
2018/04/04 Python
python定向爬虫校园论坛帖子信息
2018/07/23 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
在python中bool函数的取值方法
2018/11/01 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
python 实现让字典的value 成为列表
2019/12/16 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
基于python实现坦克大战游戏
2020/10/27 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
荷兰电脑专场:Paradigit
2018/05/05 全球购物
英国钻石公司:British Diamond Company
2020/02/16 全球购物
小学教师的个人自我鉴定
2013/10/24 职场文书
高三历史教学反思
2014/01/09 职场文书
大学生校园创业计划书
2014/02/08 职场文书
办公室员工岗位工作职责
2014/03/10 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
2014企业领导班子四风对照检查材料思想汇报
2014/09/17 职场文书
2014年基建工作总结
2014/12/12 职场文书
MySQL深度分页(千万级数据量如何快速分页)
2021/07/25 MySQL
从原生JavaScript到React深入理解
2022/07/23 Javascript