树和二叉树的基本知识

树的基本知识

树是一种数据结构,是由n(n>=1)个有限节点组成一个具有层次关系的集合。n=0时称为空树。在任何一个非空树中:1.有且仅有一个特定的称为根的节点;2.n>1时,其余节点可分为m(m>0)个互不相交的有限集T1,T2,.....Tm,其中每一个集合本身又是一棵树,并且称为根的子树。
树和二叉树的基本知识_第1张图片

树具有的特点有:

(1)每个结点有零个或多个子结点。

(2)没有父节点的结点称为根节点,n>0时,根节点仅有一个。

(3)每一个非根结点有且只有一个父节点。

(4)除了根结点外,每个子结点可以分为多个不相交的子树。

 

树的基本术语有:

若一个结点有子树,那么该结点称为子树根的“双亲”,子树的根称为该结点的“孩子”。有相同双亲的结点互为“兄弟”。一个结点的所有子树上的任何结点都是该结点的后裔。从根结点到某个结点的路径上的所有结点都是该结点的祖先

 

结点的度:结点拥有的子树的数目

树的度:树中结点的最大的度

分支结点:度不为0的结点

叶子结点:度为0的结点

层次:根结点的层次为1,其余结点的层次等于该结点的双亲结点的层次加1

树的高度:树中结点的最大层次

森林:0个或多个不相交的树组成。对森林加上一个根,森林即成为树;删去根,树即成为森林。


二叉树的基本知识:

每个节点最多有两个节点的树结构,两个节点分别称为左子树和右子树。

1.特点:

1.每个节点最多有两个子树

2.左子树和右子树是有顺序的,次序决不能任意颠倒。就像人的左手和右手。

3.即使树的某一节点只有一个子树,也要区分它是左子树还是右子树。

如图,下面五种树就是不同的树:

树和二叉树的基本知识_第2张图片

2、二叉树的性质

性质1:二叉树第i层上的结点数目最多为2i-1(i>=1)

性质2:深度为k的二叉树至多有2k-1个结点(k>=1)

性质3:包含n个结点的二叉树的高度至少为(log2n)+1

性质4:在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1

性质5:如果对一棵具有n个节点的完全二叉树(其深度为(log2n)+1)的节点按层级序编号(从第一层到第(log2n)+1层,每层从左到右),对任一个节点 i (1

    (1).如果i=1,则i是二叉树的根,无双亲;如果i>1,则其双亲是节点i/2或(i-1)/2.

    (2)如果2i>n,则节点i无左孩子(节点i为叶节点),否则其左孩子是2i。

    (3)如果2i+1>n,则节点i无右孩子,否则其右孩子是节点2i+1。

你可能感兴趣的:(学生,菜鸟,请指教)