赞
踩
树是一种非线性的数据结构,它由n个有限结点组成的有层次关系的集合。
由树引出的专业名词相当的丰富,它有如下概念:
数的表示有很多种方式,其中比较经典的是左孩子右兄弟表示法:
typedef int DataType;
struct TreeNode
{
struct TreeNode*leftchild;
struct TreeNode*rightbrother;
DataType val;
};
如果将上图的树表示出来逻辑结构就是如下效果:
二叉树即为,树的度不大于二的树
由此不难发现,二叉树由一个根结点和左子树、右子树组成,这显然是由递归定义的。
此外,二叉树是一个有序树,次数不能颠倒。
如下:
这便是一个二叉树。
满二叉树:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是2K-1,则它就是满二叉树。
完全二叉树:完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。 要注意的是满二叉树是一种特殊的完全二叉树。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。