一、树的基本概念
1.优点
有序数组插入数据项和删除数据项太慢。
链表查找数据太慢。
在树中能快速的查找、插入、删除数据项。
2.路径
顺着连接节点的边从一个节点到另一个节点,所经过的节点顺序排列称为路径。
3.根
树最上面的节点称为根节点。一棵树只有一个根,而且从根到任何节点有且只有一条路径。
4.父节点
每个节点都有一条边向上连接到另一个节点,这个节点就称为是下面这个节点的父节点。
5.子节点
每个节点都有一条边向下连接到另一个节点,下面的节点就是该节点的子节点。
6.叶子节点
没有子节点的节点称为叶子节点。
7.子树
每个节点都可以作为一个子树的根,它和它所有的子节点,子节点的子节点组合起来就是一个子树。
8.访问
访问一个节点是为了在这个节点上执行一些操作,如查看节点的数据项,如果仅仅是经过一个节点,不认为是访问了这个节点。
9.层
一个节点的层数是指从从根开始到这个节点有多少代。根为0层。
10.二叉树
树的每个节点最多只能有两个子节点的树,称为二叉树。
二、对二叉树的操作
1.插入节点
从根节点开始查找一个相应的节点,这个节点就成为新插入节点的父节点,当父节点找到后,通过判断新节点的值比父节点的值的大小来决定是连接到左子节点还是右子节点。
2.查找节点
从节点开始查找,如果查找的节点值比当前的节点的值小,则继续查找其左子树,否则查找其右子树。
3.遍历树
根据特定的顺序访问树的每一个节点,根据顺序的不同分为前序遍历、中序遍历、后序遍历。
前序遍