zoukankan      html  css  js  c++  java
  • 先序序列为a,b,c,d的不同二叉树有多少?

     

    一棵二叉树的构建可以看作是一次入栈—出栈的过程。
     

    对一个结点来说:

    • 当它在栈中时,往后入栈的元素都是它的左子树
    • 出栈之后,往后入栈的元素都是它的右子树

    用递归的思想,这一次完整的将所有结点入栈—出栈的过程就能构造一棵唯一的二叉树。
     

    举例说明:

    (a入栈,b入栈,b出栈,c入栈,c出栈,a出栈,d入栈,d出栈)

    image-20200720171400322
    出栈顺序:b-c-a-d
    

     

    出栈顺序 = 此二叉树的中序遍历

    而前序+中序可以唯一确定一棵二叉树

    所以,有多少种出栈的顺序,就有对应多少颗不同的二叉树了

  • 相关阅读:
    FTP服务
    Samba文件共享服务设置
    Samba
    编译安装-httpd-2.2.15.tar.gz
    分析排查系统故障
    进程--计划任务
    磁盘配额
    LVM卷
    Linux磁盘分区
    用户组权限
  • 原文地址:https://www.cnblogs.com/Irvingcode/p/13356201.html
Copyright © 2011-2022 走看看