树的概念
在数据结构中,把树枝分叉处、树叶、树根抽象为结点,其中树根抽象为根节点,且对一棵树来说最多存在一个根节点;把树叶概括为叶子节点,且叶子结点不再延伸出心得结点,把茎秆和树枝统一抽象为边,且一条边只能用来连接两个结点(一个端点一个)。这样,树就被定义为由若干结点和若干条边组成的数据结构,且在树中的结点不能被边连接成环。
树的常见性质
1、树可以没有结点,这种情况下称之为空树。
2、树的层次从根节点开始算起,即根节点为第一层,根节点子树的根节点为第二层,以此类推。
3、把结点的子树棵数称为结点的度,而树中结点的最大的度成为树的度(也称为树的宽度)
4、由于一条边连接两个顶点,且树中不存在环,因此对有n个结点的树,边数一定是n-1,且满足连通、边数等于顶点数减1的结构一定是一棵树。
5、叶子结点被定义为度为0的点,因此当树中只有一个结点(即只有根节点)时,根结点也算作叶子结点。
6、结点的深度是指从根节点(深度为1)开始自顶向下逐层累加至该结点时的深度值;结点的高度是指从最底层叶子结点(高度为1)开始自底向上逐层累加至该结点时的高度值。树的深度是指树中结点的最大深度,树的高度是指树中结点的最大高度。对树而言,深度和高度是相等的。但是具体到某个结点的深度和高度就不一定相等了。
7、多棵树组合在一起称为森林,即森林是若干颗树的集合。