遍历是一个访问树的所有节点的过程,也可以打印它们的值.因为所有节点都是通过边(链接)连接的,所以我们总是从根(头)节点开始.也就是说,我们不能随机访问树中的节点.我们使用三种方式遍历树 :
按顺序遍历
预订遍历
订购后遍历
通常,我们遍历树以搜索或定位给定树中的项或键或打印它包含的所有值.
在此遍历方法中,左子树首先访问,然后访问根,然后访问右侧子树.我们应该永远记住,每个节点都可以代表一个子树.
如果遍历二进制树按顺序,输出将生成一个排序的键值.升序.
我们从开始A ,并且在按顺序遍历之后,我们移动到其左子树 B . B 也按顺序遍历.该过程一直持续到访问所有节点.此树的顺序遍历输出为 :
D → B → E → A → F → C → G
直到所有节点都遍历 : : 递归遍历左子树. : 访问根节点. : 递归遍历右子树.
在此遍历方法中,首先访问根节点,然后访问左子树和最后是正确的子树.
我们从 A ,并且在预订遍历之后,我们首先访问 A 本身,然后移到其左子树 B . B 也是预先遍历的.该过程一直持续到访问所有节点.此树的预先遍历的输出将为 :
A → B → D → E → C → F → G
直到所有节点都遍历 : : 访问根节点. : 递归遍历左子树. : 递归遍历右子树.
在此遍历方法中,最后访问根节点,因此命名.首先我们遍历左子树,然后是右子树,最后遍历根节点.
我们从 A 开始,在订单后遍历之后,我们首先访问左子树 B . B 也会在订购后遍历.该过程一直持续到访问所有节点.此树的后序遍历输出为 :
D → E → B → F → G → C → A
直到所有节点都遍历 : : 递归遍历左子树. : 递归遍历右子树. : 访问根节点.