树(预备知识)

Posted X小道崖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树(预备知识)相关的知识,希望对你有一定的参考价值。

现实眼中的树是:

                      

这个样子的,而程序员眼中的树是:

                                                    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。一棵树的深度等于它的最深的树叶的深度,深度总是等于它的高。

以上是关于树(预备知识)的主要内容,如果未能解决你的问题,请参考以下文章

技能树预备知识-Python简介

word2vec 中的数学原理二 预备知识 霍夫曼树

树链剖分

预备知识

深度学习预备知识

红黑树详细图解