【问题标题】:How to permutate all possible tree structure for fixed number of leaf for binary expression tree?如何为二叉表达式树的固定叶数置换所有可能的树结构?
【发布时间】:2011-12-09 19:52:46
【问题描述】:

如何为二叉树的固定叶数置换所有可能的树结构? 哪种算法可以构建所有可能的树结构? 所有可能的树结构的数量是多少?

对于二叉表达式树,字母必须是叶子

例如 (a+b)*c

                        *
                      +   c
                    a   b

叶子数为3

我们想置换成其他结构,比如

                   *            
                 a   +   
                    b  c

我想修复顺序,相同的顺序,因为我将在以后的过程中置换操作符节点。只是期待结构。算子节点的数量是动态的

如果你想挑战更多,你可以使用动态顺序 我也想知道动态排序算法

现在尝试先修复订单

我注意到的另一个约束是每个内部节点都应该有左叶和右叶

【问题讨论】:

  • 能否请您详细解释一下您的问题。
  • 每个结构的叶子是否必须以相同的顺序排列? (如您的示例所示。)
  • 我想修复顺序,相同的顺序,因为我将在以后的过程中置换操作符节点。只是期待结构。算子节点数是动态的
  • 我认为标签遗传算法对于这个问题是错误的。
  • @Avinash,想象一个游戏,你有几个输入数字和一个输出数字。你的任务是找到一个算术表达式,其结果尽可能接近给定的输出数。在一个塞尔维亚测验中查看该游戏的页面:www2.slagalica.tv/game/mojbroj

标签: algorithm tree


【解决方案1】:

我的想法是在除叶子之外的每个级别递归交换左右节点并在每次交换时保存 不知道对不对,但我觉得没有错

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    相关资源
    最近更新 更多