树和二叉树 浅析

来源:互联网 发布:三个网站域名 编辑:程序博客网 时间:2024/06/05 10:46

树是不包含回路的连通无向图。

左边是一棵树,右边的是一个图,因为左边的没有回路,而右边的存在1-2-5-3-1这样的回路。


树特征:

1.一棵树中的任意两个节点有且仅有唯一的一条路径连通;

2.一棵树如果有n个节点,那么它一定恰好有n-1条边;

3.在一棵树中加一条边将会构成一个回路。


树是指任意两个节点间有且只有一条路径的无向图。只有是没有回路的连通无向图就是树。


根节点,一棵树有且只有一个根节点。父节点,子节点。没有子节点的节点称为叶节点。


深度:指从根到这个节点的层数(根为第一层)。


二叉树

二叉树特点:每个节点最多有两个儿子,左儿子,右儿子,或者说每个节点最多有两颗树。

二叉树要么为空,要么由根节点,左子树和右子树组成。


满二叉树:二叉树中每个内部节点(既不是根节点也不是叶节点)都有两个儿子,或者说满二叉树中所有的叶节点都有同样的深度。深度h,且有2^h-1个节点。



完全二叉树:除了最右边位置上有一个或者几个叶节点缺少外,其他是丰满的。高度为h,除第h层外,其他各层(1~h-1)的节点数都达到最大个数。一个节点有右儿子,那它一定也有左儿子。

完全二叉树中,一个父节点编号为k,那么左儿子编号是2*k,右儿子编号是2*k+1.如果已知儿子(不管是左还有右)编号为x,那么它父节点编号就是x/2。

完全二叉树有N个节点,那么这个完全二叉树的高度就是log2N,或者为logN,即最多有logN层节点。



0 0
原创粉丝点击