数据结构:树(树的定义和基本术语)
非空树:有且仅有一个根节点
空树:节点数为0的树
在非空树中根节点没有前驱,叶子结点(终端结点)没有后继,分支结点(非终端结点)前驱和后继都有,前驱有且仅有一个。
下图有多个前驱,不是树结构
子树
子树可以看作是一个新的树,而新的树又可以分为多个子树
由此可见树是一种递归定义的数据结构
树的基本术语
祖先结点/子孙结点/双亲结点(父节点)/孩子结点/兄弟结点:参照现实中的家庭关系
属性
有序树和无序树
有序树:逻辑上看,树中结点的各子树从左至右是有次序的,不能互换(例如家庭关系)
无序树:逻辑上看,树中结点的各子树从左至右是无次序的,可以互换(例如我国行政规划关系)
有序树
无序树
树和森林
森林是m(m>=0)棵互不相交的树的集合,m=0时为空森林
森林图示