树----基本概念

1:二叉树和度为2的树

度为2的树至少有一个结点有两棵子树,而二叉树可以是一棵空树,度可以为0,1
度为2的树无左右子树之分(无序树),而二叉树是有序树,左右子树的次序不能随意颠倒

 

2:二叉搜索树   二叉排序树  二叉查找树  (Binary Search Tree -- BST) 

上边三种树 都是指的同一种树  不同的叫法。

都是在二叉树的基础上面将小于结点的分支都放在该结点的左边,而大于该结点的分支都放在右边的树,这样很便于查找。

特点:根节点的值大于其左子树中任意一个节点的值,小于其右节点中任意一节点的值!

 

3:平衡树 

平衡树(Balance Tree,BT) 指的是,任意节点的子树的高度差都小于等于1

常见的平衡树:

二叉平衡搜索树(AVL)

多路平衡搜索树(B树)

 

若想二叉树的查询效率尽可能高,需要这棵二叉树是平衡的,从而引出新的定义——平衡二叉树,或称AVL树。

AVL树本质上还是一棵二叉搜索树,它的特点是:

1.本身首先是一棵二叉搜索树

2.带有平衡条件:每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1。

也就是说,AVL树,本质上是带了平衡功能的二叉查找树(二叉排序树,二叉搜索树)。

 

4:平衡二叉树(平衡二叉搜索树 AVL树)

它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树

5:完全二叉树

若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第h层有叶子结点,并且叶子结点都是从左到右依次排布,这就是完全二叉树。

检验办法 就是给结点编号,看看编号出现空档,就不是完全二叉树。。。。。

特点:

叶子结点只能出现在最下两层

最下层的叶子结点一定集中在左部连续位置

倒数第二层若有叶子结点一定都在右部连续位置

如果结点的度为1 那么这个节点只有左孩子,不可能是右孩子

同样结点的二叉树,完全二叉树的深度最小

6:满二叉树

所有结点都有左子树和右子树,并且所有叶子结点都在同一层上

 

7:平衡二叉树  完全二叉树   满二叉树之间的关系

平衡二叉树 本质上是二叉排序树 是有序的  而完全二叉树不一定是有序的。。。。完全二叉树确实平衡 但是不一定是平衡二叉树

满二叉树一定是完全二叉树 但是完全二叉树不一定是满二叉树

8:最优二叉树(哈夫曼树)

树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值