0

假设我有以下层次结构:

  • 1级

    • 阶段1
    • 第二阶段
    • 第三阶段
  • 2级

    • 第 4 阶段
    • 第 5 阶段
    • 第 6 阶段
  • 3级

    • 第七阶段
    • 第 8 阶段
    • 第 9 阶段

如果我知道阶段编号,我如何以编程方式找到级别编号,因为阶段 5 具有级别 2?

4

3 回答 3

2

希望你有一个指向父节点的指针。

继续跟踪该指针,直到没有父节点。您已找到根节点。计算你必须跟随指针到父级的次数才能获得深度。

于 2012-07-27T01:36:39.293 回答
1

您可以使用以下公式根据给定阶段查找您所处的级别:

level = ceil(stage / 3)

例子:

ceil(5 / 3) = 2
ceil(9 / 3) = 3
ceil(1 / 3) = 1

不过,这个答案只有在每个级别正好有3 个阶段时才有效。

于 2012-07-27T01:49:10.343 回答
0

Well

If you are using python it is very easy.

>>> d = { 'level 1' : [ 'stage 1', 'stage 2', 'stage 3' ], 
...       'level 2' : [ 'stage 4', 'stage 5', 'stage 6' ],
...       'level 3' : [ 'stage 7', 'stage 7', 'stage 9' ],
...     }
>>> for key, val in d.items():
...     if 'stage 5' in val:
...             print key

Thank You

于 2012-07-27T05:18:28.943 回答