数据结构---树与二叉树

树的数据结构详解

1、树的定义
树是一种非线性的数据结构。
树是n(n>=0)个结点的有限集,在任意一棵非空树中:
1)有且仅有一个特定的被称为(root)的结点
2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集,其中每个集合本身又是一棵树,并且称为根的子树(subTree)
3)每棵子树也是由唯一的根结点和若干棵互不相交的子树组成的
4)树的结点数目可以为0,当为0时,这棵树称为一棵空树

2、树的基本术语
1)结点:结点不仅包含数据元素,而且包含指向子树的分支
2)结点的度:结点拥有的子树个数或者分支的个数
3)树的度:树中各节点度的最大值
4)叶子结点:又叫做终端结点,指度为0的结点
5)非终端结点:又叫做分支结点,指度不为0的结点
6)孩子:结点的子树的根
7)双亲:与孩子的定义对应
8)兄弟:同一个双亲的孩子之间互为兄弟
9)祖先:从根到某结点的路径上的所有结点
10)子孙:以某结点为根的子树中的所有结点,都是该结点的子孙
11)层次:从根开始,根为第一层,根的孩子为第二层,根的孩子的孩子为第三层,以此类推
12)树的高度(深度):树中结点的最大层次
13)结点的深度和高度:
      1、结点的深度是从根结到该结点路径上的结点个数;
     2、 从某结点往下走可能到达多个叶子结点,对应了多条通往这些叶子结点的路径,其中最长的那条路径的长度即为该结点在树中的高度
      3、根结点的高度为树的高度
14)堂兄弟:双亲在 同一层的结点互为堂兄弟
15)有序树:树中结点的子树从左到右是有次序的,不能交换,这样的树叫作有序树
16)无序树:树中结点的子树没有顺序,可以任意交换,这样的树叫作无序树
17)丰满树:即为理想平衡树,要求除最底层外,其他层都是满的
18)森林:若干棵互不相交的树的集合

3、树的存储结构

1)顺序存储结构
树的顺序存储结构中最简单直观的是双亲存储结构

2)链式存储结构
树的链式存储结构最常用的有以下两种:

  孩子存储结构:实质上就是图的邻接表存储结构,树就是一种特殊的图
  孩子兄弟存储结构:与树和森林与二叉树的相互转换关系密切

  


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值