数据结构--树与二叉树

树是一种非线性结构,树中的每个结点有且只有一个前驱结点(除根结点没有前驱结点),可以有多个后驱结点,数据之间的逻辑关系并不是“一对一”关系,而是“一对多”的关系,反应数据元素之间的层次关系。

在讲二叉树之前先介绍一个树
树是由n个结点构成,连接数据元素的称为边,边就类似于生活中树的枝干。树中唯一没有前驱结点(父节点)的结点成为根结点,除了根结点,其他结点有且只有一个根结点,此外,树中每个结点有多个后继结点(称为子节点)。
树的常用术语:
1.结点:树的结点由数据元素及关联其子树的边组成,通俗理解就是,数据元素相当于一些实体,而边就是实体之间的逻辑关系;
2.结点的路径:从根结点到该结点的结点和分支的顺序排列;
3.路径长度:结点路径包含的分支树;
4.结点的度:该结点拥有的子树的数目;
5.树的度:树中所有结点度的max;
6.叶结点:也成终端结点,指树中没有子结点的结点;
7.分支结点:指含有分支的结点,即树中的非叶结点;
8.结点的层次:根结点层次为0,其他结点是是其双亲结点层次+1;
9.树的深度:树种所有结点层次max+1;
10.有序树:指树中所有结点的子树有严格的左右关系,不能相互调换位置,之后讲到的二叉树就是一种有序树。

二叉树

终于来到重点二叉树
二叉树即为度<=2的树,且是一种有序树。
满二叉树:树中所有的分支结点的度都为2;
完全二叉树:若一二叉树有n个结点,它的逻辑结构与相同度的完全二叉树的前n个结点的逻辑结构相同。

  • 二叉树的顺序存储结构

顺序存储就是将二叉树中的数据元素存储在一组地址连续的存储单元,二叉树不是线性结构,因此需要先将树中的数据结构按照一定顺序排成一个线性序列,再将其存储在一维数组中。
具体做法就是:先给二叉树添加一些虚结点,使之成

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值