在MATLAB中将平面列表解释为树分支?

时间:2014-06-17 01:55:00

标签: matlab tree

我根据规则构建了一个带有MATLAB整数数组的二叉树:

  • 0或-1是终端;
  • 列表从最顶层的根开始;和
  • 首先左分支,然后右分支。

例如,列出tr

tr = [2 4 0 -1 1 -1 0]

代表这棵树

           2
        /     \
      4         0
    /   \
  -1     1
        / \
      -1   0

我的实现涉及列表中的多个循环。我正在寻找获得树的四个分支的最有效方法如下。

br1 = [2 4 -1]
br2 = [2 4 1 -1]
br3 = [2 4 1 0]
br4 = [2 0]

另外,我需要"左/右"分公司信息。让我们说[2 4 -1],我需要知道42的左分支,而-1也是左分支。

P.S。希望该算法适用于在规则下构建的任何树。

0 个答案:

没有答案