树
【知识框架】
一、树的基本概念
树的定义
树是n(n>=0)个结点的有限集。当n = 0时,我们称他为空树。在任意一棵非空树中应满足:
有且只有一个特定的根结点。
当n>1时,其余节点可分为m(m>0)个互不相交的有限集A1,A2....,An,其中的每个集合自身又是一棵树,称为根的子树。
树的定义是递归的,树是一种递归的数据结构。树作为逻辑结构和分层结构,具有以下两个特点:
树的根结点没有前驱,除根结点外的所有结点有且只有一个前驱。
树中所有结点可以有零个或多个后继。
树的术语
子节点:又称为孩子节点,一个节点所包含的子树的根节点被称为该节点的子节点。
父节点:又称为父亲节点,如果一个节点有子节点,则这个节点被称为其子节点的父节点。
兄弟节点:具有相同父节点的节点互称为兄弟节点。
堂兄弟节点:如果树的两个节点深度相同,但父节点不同,则它们互为堂兄弟节点。
节点的祖先:从根节点开始,依次找到某节点所经路径上的所有节点都称为该节点的祖先。
节点的子孙:以某节点为根的子树中,任一节点都称为该节点的子孙。