python数据结构树和二叉树_【数据结构与算法】002—树与二叉树(Python)

本文介绍了树这一非线性数据结构的概念与特性,并详细解释了二叉树的定义及其特点,包括二叉树的基本形态。

概念

树是一类重要的非线性数据结构,是以分支关系定义的层次结构

定义:

树(tree)是n(n>0)个结点的有限集T,其中: 有且仅有一个特定的结点,称为树的根(root)

当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,……Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree)

特点: 树中至少有一个结点——根 树中各子树是互不相交的集合

基本术语

结点(node)——表示树中的元素,包括数据项及若干指向其子树的分支

结点的度(degree)——结点拥有的子树数 叶子(leaf)——度为0的结点

孩子(child)——结点子树的根称为该结点的孩子

双亲(parents)——孩子结点的上层结点叫该结点的~

兄弟(sibling)——同一双亲的孩子

树的度——一棵树中最大的结点度数

结点的层次(level)——从根结点算起,根为第一层,它的孩子为第二层……

深度(depth)——树中结点的最大层次数

森林(forest)——m(m0)棵互不相交的树的集合

72d6e86cb64694dc2481f5d3a5cab46e.png

二叉树

二叉树的定义:二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。(在某个阶段都是两种结果的情形)

二叉树的特点有:

每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。

左子树和右子树是有顺序的,次序不能任意颠倒。

即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。

二叉树具有五种基本形态:

空二叉树。

只有一个根结点。

根结点只有左子树。

根结点只有右子树。

根结点既有左子树又有右子树。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值