数据结构树很形象,每个树都有一个主干(根结点),由主干衍生出一系列的枝干(子结点),独立的看,每个枝干又可以把它当作树的概念看待,以此产生出若干分枝 。
结点的度(degree):结点子树的数目。
树的度:树中各结点的度的最大值。
叶子:度为0的结点。
分枝结点:度不为0的结点。
结点的层:根结点为1,以后每派生一层加1。
树的深度:树中各结点的层的最大值。
有序树、无序树:任一结点的各棵子树,从左至右是有次序的,即不能互换位置称为有序树,否则为无序树。
二叉树是度数为2的有序树,二叉树子结点区分左右。
二叉树的遍历有:层序遍历、前序/根遍历(DLR)、中序/根遍历(LDR)、后序/根遍历(LRD)。层序遍历就是按每一层从左往右的顺序遍历结点,后面三个规则差不多只是结点先后顺序上不同,如中序遍历规则是,先遍历树根结点的左子树(如果有),接着访问根结点,最后才是根的右子树(如果有),每一个结点子树都按上述规则递归遍历,直至叶子结点。
表达式二叉树:根结点放运算符,左结点第一操作数,右结点第二操作数。第一操作数、第二操作数也可以是一个表达式二叉树。对表达式二叉树前序遍历的结果称为前缀表达式,中序遍历叫中缀表达式(人类正常的书写习惯),后序遍历后缀表达式。