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 相关文章推荐
wxpython 学习笔记 第一天
Mar 16 Python
Python显示进度条的方法
Sep 20 Python
Django中反向生成models.py的实例讲解
May 30 Python
python 读取txt,json和hdf5文件的实例
Jun 05 Python
python生成ppt的方法
Jun 07 Python
Python匿名函数及应用示例
Apr 09 Python
详解python 爬取12306验证码
May 10 Python
如何利用python给图片添加半透明水印
Sep 06 Python
Pytorch基本变量类型FloatTensor与Variable用法
Jan 08 Python
python 负数取模运算实例
Jun 03 Python
python集合能干吗
Jul 19 Python
Python异常类型以及处理方法汇总
Jun 05 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
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
php传值方式和ajax的验证功能
2017/03/27 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
如何在Mozilla Gecko 用Javascript加载XSL
2007/01/09 Javascript
JavaScript 注册事件代码
2011/01/27 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
兼容主流浏览器的iframe自适应高度js脚本
2014/01/10 Javascript
jquery-tips悬浮提示插件分享
2015/07/31 Javascript
Ionic快速安装教程
2016/06/03 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
vue 自定义指令自动获取文本框焦点的方法
2018/08/25 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
2019/04/04 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
快速解决element的autofocus失效问题
2020/09/08 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
2019/01/17 Python
实例详解Python装饰器与闭包
2019/07/29 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
2020/06/03 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
韩语专业本科生求职信
2013/10/01 职场文书
最新大学毕业求职简历的自我评价
2013/10/18 职场文书
应届毕业生个人自荐信范文
2013/11/30 职场文书
医院总经理职责
2013/12/26 职场文书
先进德育工作者事迹材料
2014/01/24 职场文书
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis
SQL语法CONSTRAINT约束操作详情
2022/01/18 MySQL