首页 > 代码库 > 树的基本概念
树的基本概念
基本术语
- 树中一个节点子节点的个数称为该节点的度,树中节点最大的度称为称为树的度。如B的度为2,D的度为3,树的度为3
- 树中节点的子树从左到右有次序的,不能交换的树称为有序树,反之称为无序树
- 树中两个节点之间的路径是由这两个节点所经过的节点序列构成的,路径的长度是路径上边的个数
- 树的路径长度是从根节点到每个节点的路径长度总和
二叉树的概念
二叉树是有序树,若将其左右子树颠倒,就称为另一颗不同的二叉树。
满二叉树
一棵高度为h,并且含有2^h-1个节点的二叉树被称为满二叉树。对满二叉树按层序编号:从根节点起(根节点编号为1),自上而下,自左而右。这样每个节点对应一个编号,对于编号为i的节点,其双亲节点的编号为i/2(取下限),其做孩子节点编号为2i,有孩子节点编号为2i+1
完全二叉树
树中节点如果有右孩子那么一定有左孩子,去掉树的最后一层一定是一个满二叉树。
二叉排序树
左子树上的每个节点的关键字都小于根节点关键字;右子树上每个节点的关键字都大于根节点的关键字。左右子树都是一棵二叉排序树。
平衡二叉树
树上任意一个节点其左子树的高度与右子树的高度之差不超过1
二叉树性质
-
非空二叉树上叶子节点数等于度为2的节点数加1,即N0 = N2+1
-
非空二叉树上第K层最多有2^(k-1)个节点
-
具有N个(N>0)节点的完全二叉树的高度为log(N+1)的上限
二叉树的存储
二叉树可以采用顺序存储也可以采用链式存储。完全二叉树和满二叉树采用顺序存储比较合适,而一般的二叉树都采用链式存储。
树的基本概念
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。