写出二叉树的先序遍历、中序遍历、后序遍历。
的有关信息介绍如下:问题补充说明:不会的别乱写了。我可不是一点都不懂的... 不会的别乱写了。我可不是一点都不懂的 展开
一、先序遍历:
1、访问根节点
2、前序遍历左子树
3、前序遍历右子树
二、中序遍历:
1、中序遍历左子树
2、访问根节点
3、中序遍历右子树
三、后序遍历:
1来自、后序遍历左子树
2、后序遍历右子树
3、访问根节点
下面介绍一下例子与方法:
1、画树求法:
第一步,根据前序遍历的特点,360问答我们知道根结点为G
第二步,观察中序遍历ADEFGHMZ。其中root节点G左侧职反河因厂的ADEF必然是root的左子树,G右侧的HMZ必然是root的右子树。
第三步,观察左子树ADEF,左子树的中的根节点必然是大树的root的leftchild。在前序遍历中,大树的元标师打耐脱鸡杆杆日root的leftchild位于root之后,所以左子树的根节点为D。
第村劳讲育四步,同样的道理,root的右子树节点HMZ中的根节点也可以田所连脸系置凯祖通过前序遍历求得。在前序遍历中,一定是先把root和root的所有左子树节点遍否象开项历完之后才会遍历右子树,并且遍历的左子树的第一个死节点就是左子树的根销如做改陈见部强环加节点。同理,遍历的右子树的第一个节点就是右子树的根节点。
第五步,观察发现,上面的过程是递归的。先找到当前树的根节点,然后划分为左子树,右子树,然后进入左子树重复上面的过程,然后进入右子树重复上面的过程。最后就可以还原一棵树了。该步递归数销章三沉任建核含酒农的过程可以简洁表达如下:
1确定根,确定左子树,确定右子树。
2在左子树中递归。
3在右子树中递归。
4打印当前根。
那么,我们可以画出这个二叉树的形状:
那么,根据后序的遍历规则,我们可以知道,后序遍历顺序为:AEFDHZMG
二叉树的一些介绍:
在计算机科学中,二叉树是每个节点最多有两个子树的树结构扬目钱因氢斯杆陆。通常子树被称作“左子树”(leftsubtree)和“右子树”(rightsubtree)。二叉树常被用于实现二叉查找树和二叉堆。
二叉树的每个结点至多船只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2^{i-1}个结点;深度为k的二叉树至多有2^k-1个结点;对任何一棵二叉树逐站松就半答T,如果其终端结点数为n_0,度为2的结点数为n_2,则n_0=n_2+1。
一棵深度为k,且有2^k-1个节农点称之为满二叉树;深度为k,修官背控迅有n个节点的二叉树,当且仅当其每一个节点都与深度为k板会的满二叉树中,序号为1至n的节点对应时,称之为完全二叉树。