给定二叉树先序和中序画出二叉树
给定二叉树先序和中序
先序数列:ABDGHCEFI
中序数列:GDHBAECIF
- 先序序列的第一个值为根节点:A为根节点
- 再到中序数列中找到根节点,以根节点A为界分为左右两部分,左:GDHB、右:ECIF
- 在先序序列找到与中序数列左右部分对应的序列部分,左:BDGH、右:CEFI,可得到左边结点为B,右边结点为C
- 分别对左子树和右子树进行上述操作,左子树(先序:CEFI,中序:ECFI)以C为界限分为 左:E、右:IF,因为先序序列F在I前所以F在I上一层,因为中序数列I在F前面,所以I在左分支;右子树(先序:BDGH,中序:GDHB)以B为界限分为左:GDH,因为先序中D在第一个,所以D为第一个结点针对(先序:DGH,中序:GDH)重复上述方法可得: