树与二叉树的性质

树的性质

一、结点的度是指子树的数量,树的度指所有节点的度的总和。

二、树的深度是指树的最大层数,根结点是第一层。

三、树的数据结构:树结点存储结构,树的存储结构(数组指针)。双亲(data,parent)、孩子(firstChild,next,rightChild)、孩子兄弟(firstChild,nextsubit)


二叉树性质

1、具有n个节点的完全二叉树的深度为(logn)+1

2、第i个节点的双亲位置  i/2,左孩子2i,右孩子2i+1.

3、二叉树节点的度只有0,1,2,分别用n0,n1,n2表示不同度的节点,那么n0 = n2 +1,推导是通过树的分支树的,一个节点会有一个入分支,那么设总的节点为n,那么n-1 = 2*n2+n1  由于 n = n0 + n1 + n2 合并得n0 = n2 +1.

4、根据层数和深度计算节点数,第i层最多有2的i-1次方个节点,深度为i的树一共有2的i次方减1个节点,要注意前后问的问题不同,一个是树里的第几层,一个是树的全部层数加上的节点数。


5、二叉树的存储结构:{data,rightChild,leftChidl,}

6、遍历

先序:先遍历所有根,然后是左子树,最后是右子树。

中序:所有左子树,后根,最后右子树。

后序:所有左子树,后右字树,最后根。

层次:每层从左边开始遍历。


7、哈弗曼树

首先树是带权的,而且从上至下,权值不断增大。

构造哈弗曼树:先将权值按小到大排序,将头两个小的权值构成一个N1节点的左右节点,并用N1的值替代这两个节点的值,接着再找出数组中最小的两个权值组成一个节点,最后所有节点被练成一棵树

应用:哈弗曼编码





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值