二叉树的概念及创建及遍历

二叉树是一种特殊的树。它的每个结点至多只有两棵子树。

基本术语:
根:有且仅有一个特定的称为根Root的结点。(但是在介绍子孙结点的时候可以把某个子树单提出来,这样这个子树也有根)。
结点层:根结点的层定义为1;根的孩子为第二层结点,依此类推。
树的深度:树中最大的结点层。
结点的度:结点子树的个数。
树的度: 树中最大的结点度。
叶子结点:也叫终端结点,是度为 0 的结点。
分枝结点:度不为0的结点。
结点:包含一个数据元素及若干指向子树的分支。
祖先:从根结点到该结点的路径上的所有结点都是该结点的祖先。
子孙:以某一结点为根的子树上的所有结点都是该结点的子孙。
森林:n棵互不相交的树;
孩子结点:结点的子树的根称为该结点的孩子;
//双亲结点:B 结点是A 结点的孩子,则A结点是B 结点的双亲;
兄弟结点:同一双亲的孩子结点; 堂兄结点:同一层上结点;//
这个感觉没什么用;
祖先结点: 从根到该结点的所经分支上的所有结点。
子孙结点:以某结点为根的子树中任一结点都称为该结点的子孙。
有序树:子树有序的树,如:家族树;
无序树:不考虑子树的顺序;
//还是百度百科详细;
性质:
1) 在非空二叉树中,第i层的结点总数不超过 , i>=1;
(2) 深度为h的二叉树最多有 2^h-1 个结点(h>=1),最少有h个结点;
(3) 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;
(4) 具有n个结点的完全二叉树的深度为 log2(n+1)
(5)有N个结点的完全二叉树各结点如果用顺序方式存储,则结点之间有如下关系:
若I为结点编号则 如果I>1,则其父结点的编号为I/2;
如果2*I<=N,则其左儿子(即左子树的根结点)的编号为2*I;若2*I>N,则无左儿 子;
如果2*I+1<=N,则其右儿子的结点编号为2*I+1;若2*I+1>N,则无右儿子。
这里写图片描述
(6)给定N个节点,能构成h(N)种不同的二叉树。
h(N)为卡特兰数的第N项。h(n)=C(2*n,n)/(n+1)。
(7)设有i个枝点,I为所有枝点的道路长度总和,J为叶的道路长度总和J=I+2i[4] 。

链树那里关于空链还有公式和性质,先写上:(n个结点)(非满二叉树)
二叉链的空指针域有:2*n-(n-1)=n+1;
三叉链的空指针域有:3*n-(n-1)*2=n+2;

满二叉树——除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树。

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

这里写图片描述
平衡二叉树——平衡二叉树又被称为AVL树(区别于AVL算法),它是一棵二叉排序树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

二叉树的创建:
【1】

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值