数据结构--树与二叉树

本文详细介绍了树和二叉树的基本概念、相关术语、性质、存储结构以及它们在数据结构中的应用。内容涵盖树的度、高度、层次等概念,二叉树的五种状态,完全二叉树和满二叉树的定义,以及二叉排序树、平衡二叉树和哈夫曼树等特殊类型的二叉树。此外,还讨论了树的遍历方法和线索二叉树的构建。
摘要由CSDN通过智能技术生成

一、树的概述
1.树的基本概念
N个结点组成一对多关系的层次结构。
N = 0 为空树,N = 1 只有根结点的树,N > 1 树。

A 逻辑定义(前驱后继)
有且仅有一个根结点,除根结点外,每一个节点有且仅有一个前驱结点,每个结点可以有0个或多个后继结点。
没后继结点称为“叶子结点”(终端结点),有后继结点的称为“分支结点”(非终端结点)。
结点数目为0的树称为空树

B 递归定义
树是n(n>=0)个结点的有限集合,n=0时,称为空树。
在任意一棵非空树中满足:
a.有且仅有一个根结点
b.当n>1时,其余结点可分为m(m>0)个互不相交的有限集合T1,T2,...Tm,其中每个集合本身又是一棵树,称为根结点的子树

C 度为m的树 m叉树(易错点)
度为m的树:至少有一个结点度为m,那么一定是非空树,至少有 m + 1个结点。
m叉树:每个结点最多只能有m个孩子的树,也可以没有。m叉树是有序树,孩子不能互换。

树的逻辑结构的应用
省份地点模型 家族关系模型  商品分类模型 文件目录模型

2.相关术语
A 结点之间的关系描述
祖先结点、子孙结点、双亲结点、孩子结点、兄弟结点、堂兄弟结点
两个结点间的路径:从上往下经过的边数。
树的路径长度:树中所有结点的边数总和,有带权路径长度。

B 结点、树的属性描述
结点的层次(深度),从上往下数,默认从1开始
结点的高度,从下往上数
树的高度深度),总共多少层
结点的度:有几个孩子结点(分支),叶子结点度为0
树的度:各结点度的最大值

C 有序树和无序树
树中结点的各子树从左至右是有次序的,不能互换。
树中结点各子树从左至右是无次序的,可以互换。
具体看实际应用是否需要位置反映逻辑关系,如省份层次模型可以不需要,家族关系需要按年龄。

D 森林
森林是m棵互不相交的树的集合。m = 0 或 1 或大于 1
如全中国所有人家的家谱。

3.树的性质
A 结点与度数

除根结点外,每个结点都有一个父结点的度。结点数 = 总度数 + 1
设结点总数为N,则度为0的结点为N0,度为1的结点为N1,度为2的结点为N2,以此类推。
N = N0 + N1 + ...... + Nn
N = 1 + 0 *N0 + 1* N1 + 2*N2 + ......  + n * Nn

B 层次与结点分析(第i层的结点数)
度为m的树,第i层结点数目,最多时每个结点的孩子结点都为m,第i层为 m ^ (i - 1)
每个结点都只有1个结点,倒数第二层有m个孩子结点,有m个。
同样m叉树第i层最多有m ^ (i - 1)个结点。最少没有结点。

C 高度与结点分析
高度为h的m叉树,每个结点都有m个孩子结点,至多共有 m^0 + m^1 + ... + m^(h-1)。
高度为h的m叉树至少有h个结点。
高度为h,度为m的树至少有 h - 1 + m 个结点
具有n个结点的m叉树的最小高度为

4.树的存储结构
A 双亲表示法(顺序存储)

结点结构:关键字 + 指向双亲的位置下标。
存储结构:需要一块连续的空间存储结点。

优点:查指定结点的双亲很方便;缺点:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值