树(tree)是一种抽象数据类型(ADT),用来模拟具有树状结构性质。
它是由n (n≥0) 个有限节点通过连接它们的边组成具有层次关系的集合。
把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。
树由多种,一个节点有两个以上子节点的树,称为多路树,而每个节点最多只能由两个子节点的树,称为二叉树。
如图:
图中的B节点与C节点就有3个子节点,所以这是多路树。
二叉树就是,排除B与C下面所有子节点,只剩下A,B,C这3个节点时,A只有两个节点B与C,而B与C没有子节点时。称为二叉树
1.节点:树的结点由数据元素及其若干分支组成。上图的A,B,C等都是表示节点。节点一般代表一些实体,在java面向对象编程中,节点表示对象。
2.边:连接节点的线称为边,边表示节点的关联关系,一般从一个节点到另一个节点的唯一方法就是沿着一条顺着边的道路前进。在java中表示引用。
树结构的常用术语
1.路径:顺着节点的边从一个节点走到另一个节点,所经过的节点的顺序排列称为“路径”。
如图:
H—D—B—A这样的一个