例1: 
变换前: A*(B+(C*D))
变换后: *+*DCBA例2:
变换前:-A*(COS(-A+C)+SIN(D,-E))
变换后:*+SIN -E0D COS+C-A0-A0

解决方案 »

  1.   

    构造二叉树: 
    A*(B+(C*D)): *->A
                  ->+ ->B
                      ->* ->C
                          ->D然后中序遍历该树得到:  *+*DCBA构造二叉树:-A*(COS(-A+C)+SIN(D-E)) //SIN(D,-E )应该是SIN(D-E)吧!
     *-> - -> A
      ->+ ->COS->+ ->- ->A
                   ->C 
          ->SIN->- ->D
                   ->E然后中序遍历该树得到:  * + SIN - E D COS + C - A  - A
      

  2.   

    看看二叉树的概念,再看看他的三种顺序(先序,中序,后序)遍历算法。
    变换前: A*(B+(C*D)) //这个相当于先序
    变换后: *+*DCBA     //这个相当于中序你这个问题就是把二叉树的先序遍历串转换成中序遍历串