二叉树计算

标签: 二叉树 数据结构
276人阅读 评论(0) 收藏 举报
分类:

术语
1. 节点的度:一个节点含有的子树的个数称为该节点的度;
2. 叶节点或终端节点:度为零的节点;
3. 非终端节点或分支节点:度不为零的节点;
4. 父亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;
5. 兄弟节点:具有相同父节点的节点互称为兄弟节点;
6. 节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;
7. 树的高度或深度:树中节点的最大层次;
8. 堂兄弟节点:父节点在同一层的节点互为堂兄弟;
9. 节点的祖先:从根到该节点所经分支上的所有节点;
10. 孙:以某节点为根的子树中任一节点都称为该节点的子孙。
11. 森林:由m(m>=0)棵互不相交的树的集合称为森林;
12. 满二叉树:一棵深度为k,且有2^k-1 (2的k次方减一)个节点称之为满二叉树
13. 完全二叉树:完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。

二叉树的性质:
(1) 在非空二叉树中,第i层的结点总数不超过2^(i-1),i>=1;
(2) 深度为h的二叉树最多有2^h-1个结点(h>=1),最少有h个结点;
(3) 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;
(4) 具有n个结点的完全二叉树的深度为K =[log2n」+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

二叉树的遍历三种方式,如下:
(1)前序遍历(DLR),首先访问根结点,然后遍历左子树,最后遍历右子树。简记根-左-右。
(2)中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右子树。简记左-根-右。
(3)后序遍历(LRD),首先遍历左子树,然后遍历右子树,最后访问根结点。简记左-右-根。

原创:http://blog.csdn.net/u013383042/article/details/50875846

查看评论

二叉树

数据结构
  • sli1990
  • sli1990
  • 2015-08-19 15:17:49
  • 78

二叉树的原理和实现

在计算机科学中,二叉树(Binary Tree)是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉...
  • boonya
  • boonya
  • 2016-05-19 15:13:55
  • 5666

二叉树各种计算公式总结

1.n个节点的二叉树一共有(2n!)/(n,(n+1)!)中 2.n层二叉树的第n层最多为2^(n-1)个 3.二叉树节点计算公式 N = n0+n1+n2,度为0的叶子节点比度为2的节点数多一个...
  • qq_33401691
  • qq_33401691
  • 2017-09-18 17:19:04
  • 9706

有关二叉树的计算题和知识

1.二叉树的深度和层数其实是一样的。 2.任意一棵树的总结点数等于总分支数+1 3.叶子结点也称叶子,度为0的结点。 相关题目: 1.      一棵二叉树第六层(根结点为第一层)的结点数最多...
  • bojie5744
  • bojie5744
  • 2014-06-14 16:00:31
  • 2885

机试算法讲解:第34题 并查集之求最短公路总长度

/* 问题:有任意两个村庄的距离,使全省任意两个村庄之间都可以畅通(不要求直接相连,间接联通也可以),要求铺设公路最短和次最短。请计算最小公路总长度 输入:第一行给出村庄数N(...
  • qingyuanluofeng
  • qingyuanluofeng
  • 2015-08-01 14:13:37
  • 345

JAVA代码—算法基础:二叉树基础(基本性质)

二叉树基础(基本性质) 二叉树(Binary Tree)是n(n&amp;gt;=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者是由一个根结点和两颗互不相交的、分别称为根结点的左子树和...
  • seagal890
  • seagal890
  • 2018-02-23 22:59:51
  • 23

计算二叉树叶子节点的数目

二叉树采用链式储存结构,设计算法计算一颗给定的二叉树中叶子节点的数目 使用递归创建并初始化二叉树。当输入的数据不为“#”时,将该元素视为一个有效的元素,否则置为null。每次递归返回当前位置的子树。 ...
  • twilight_karl
  • twilight_karl
  • 2016-12-05 18:16:49
  • 10101

数据结构二叉树知识点总结

术语 1. 节点的度:一个节点含有的子树的个数称为该节点的度; 2. 叶节点或终端节点:度为零的节点; 3. 非终端节点或分支节点:度不为零的节点; 4. 父亲节点或父节点:若一个节点...
  • u013383042
  • u013383042
  • 2016-03-13 10:11:54
  • 12209

二叉树(Binary tree)--算法学习之路(一)

二叉树是数据结构中一种重要的数据结构,也是树表家族最为基础的结构。   二叉树的定义:二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i...
  • qq_37348649
  • qq_37348649
  • 2017-12-08 11:06:26
  • 38

二叉树的度计算

有一个计算二叉树节点的公式,相信很多人都知道:度为0的节点数为度为2的节点数 加1,即n0=n2+1,知道这个公式,相关题目就可以轻松解决; 下面来讨论下如何得出这个公式的: 设: k:总度数...
  • crisy1991
  • crisy1991
  • 2016-06-16 16:57:30
  • 2818
    个人资料
    持之以恒
    等级:
    访问量: 3406
    积分: 178
    排名: 91万+
    文章分类