首页 > 代码库 > 树(预备知识)
树(预备知识)
现实眼中的树是:
这个样子的,而程序员眼中的树是:
1.
2.
3.
树是一种结构数据,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。我个人认为它也很像家族图谱,好了再继续说树吧。它具有以下的特点:
每个节点有零个或多个子节点;
没有父节点的节点称为根节点;
每一个非根节点有且只有一个父节点;
除了根节点外,每个子节点可以分为多个不相交的子树。
第一个树1.的节点“圆”是根,下面的三个矩形都分别有一条边连接着它的父亲(根)。
第三个树3.中1的节点是跟,2,3,4都有共同的父亲1,其中3还有一个儿子5。每一个节点可以有许多儿子,也可以一个都没有,一个都没有儿子的都统称为“树叶”,1可以说是5的爷爷,,它俩是祖孙关系。
对任意节点ni,ni的深度为从根到ni的唯一的路径长,所以,根的深度为0。ni的高是从ni到一片树叶的最长路径的长看,就拿3.树来说,‘3’的深度为1高度为1;‘2’的深度为1高度为0;‘4‘的深度为1,高度为0;5的深度为2高度为0。所以这树高度为2。一棵树的深度等于它的最深的树叶的深度,深度总是等于它的高。
树(预备知识)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。