📅  最后修改于: 2021-01-11 10:26:52             🧑  作者: Mango
遍历是访问树的所有节点并且也可以打印其值的过程。因为所有节点都是通过边(链接)连接的,所以我们总是从根(头)节点开始。也就是说,我们不能随机访问树中的节点。我们使用三种方式遍历树-
通常,我们遍历一棵树以搜索或定位树中的给定项或键,或打印其中包含的所有值。
在这种遍历方法中,首先访问左子树,然后访问根,然后再访问右子树。我们应该永远记住,每个节点都可能代表一个子树本身。
如果按顺序遍历二叉树,则输出将产生升序排序的键值。
我们从A开始,然后按照有序遍历,移至其左子树B。 B也按顺序遍历。一直进行到访问所有节点为止。该树的有序遍历的输出为-
D→B→E→A→F→C→G
Until all nodes are traversed −
Step 1 − Recursively traverse left subtree.
Step 2 − Visit root node.
Step 3 − Recursively traverse right subtree.
在这种遍历方法中,首先访问根节点,然后是左子树,最后是右子树。
我们从A开始,并在进行预遍历之后,首先访问A本身,然后移至其左子树B。 B也经过遍历。一直进行到访问所有节点为止。该树的预遍历的输出将是-
A→B→D→E→C→F→G
Until all nodes are traversed −
Step 1 − Visit root node.
Step 2 − Recursively traverse left subtree.
Step 3 − Recursively traverse right subtree.
在这种遍历方法中,根节点是最后访问的,因此是名称。首先,我们先遍历左侧子树,然后遍历右侧子树,最后遍历根节点。
我们从A开始,然后经过后顺序遍历,首先访问左子树B。 B也遍历后置订单。一直进行到访问所有节点为止。该树的后遍历的输出将是-
D→E→B→F→G→C→A
Until all nodes are traversed −
Step 1 − Recursively traverse left subtree.
Step 2 − Recursively traverse right subtree.
Step 3 − Visit root node.
要检查树遍历的C实现,请单击此处。