Java数据结构和算法(七)——树

基本概念java

树(tree)是一种抽象数据类型(ADT),用来模拟具备树状结构性质的数据集合。它是由n(n>0)个有限节点经过链接它们的边组成一个具备层次关系的集合。把它叫作“树”是由于它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。

①、节点:上图的圆圈,好比A,B,C等都是表示节点。节点通常表明一些实体,在java面向对象编程中,节点通常表明对象。
②、边:链接节点的线称为边,边表示节点的关联关系。通常从一个节点到另外一个节点的惟一方法就是沿着一条顺着有边的道路前进。在Java当中一般表示引用。
③、每一个节点最多只能有两个子节点的一种形式称为二叉树编程


经常使用术语spa


①、路径:顺着节点的边从一个节点走到另外一个节点,所通过的节点的顺序排列就称为“路径”。
②、根:树顶端的节点称为根。一棵树只有一个根,若是要把一个节点和边的集合称为树,那么从根到其余任何一个节点都必须有且只有一条路径。A是根节点。
③、父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;B是D的父节点。
④、子节点:一个节点含有的子树的根节点称为该节点的子节点;D是B的子节点。
⑤、兄弟节点:具备相同父节点的节点互称为兄弟节点;好比上图的D和E就互称为兄弟节点。
⑥、叶节点:没有子节点的节点称为叶节点,也叫叶子节点,好比上图的A、E、F、G都是叶子节点。
⑦、子树:每一个节点均可以做为子树的根,它和它全部的子节点、子节点的子节点等都包含在子树中。
⑧、节点的层次:从根开始定义,根为第一层,根的子节点为第二层,以此类推。
⑨、深度:对于任意节点n,n的深度为从根到n的惟一路径长,根的深度为0;
⑩、高度:对于任意节点n,n的高度为从n到一片树叶的最长路径长,全部树叶的高度为0;3d

相关文章
相关标签/搜索