Algorithm 求水平的算法
假设我有以下层次结构:Algorithm 求水平的算法,algorithm,Algorithm,假设我有以下层次结构: 一级 第一阶段 第二阶段 第三阶段 二级 第四阶段 第五阶段 第六阶段 三级 第7阶段 第8阶段 第9阶段 如果我知道阶段编号,如何通过编程找到级别编号,因为阶段5有级别2?希望您有一个指向父节点的指针 继续跟踪该指针,直到没有父节点为止。您已找到根节点。计算您必须跟随指针向上到达父节点的次数以获得深度。希望您有一个指向父节点的指针 继续跟踪该指针,直到没有父节点为止。您已找到根节点。计算您必须跟随指针向上到父级的次数以获得深度。您可以使用以下公式来确定基
- 一级
- 第一阶段
- 第二阶段
- 第三阶段
- 二级
- 第四阶段
- 第五阶段
- 第六阶段
- 三级
- 第7阶段
- 第8阶段
- 第9阶段
如果我知道阶段编号,如何通过编程找到级别编号,因为阶段5有级别2?希望您有一个指向父节点的指针
继续跟踪该指针,直到没有父节点为止。您已找到根节点。计算您必须跟随指针向上到达父节点的次数以获得深度。希望您有一个指向父节点的指针
继续跟踪该指针,直到没有父节点为止。您已找到根节点。计算您必须跟随指针向上到父级的次数以获得深度。您可以使用以下公式来确定基于给定阶段的级别:
level = ceil(stage / 3)
示例:
ceil(5 / 3) = 2
ceil(9 / 3) = 3
ceil(1 / 3) = 1
不过,这个答案只有在每个级别正好有3个阶段时才有效。您可以使用以下公式来确定基于给定阶段的级别:
level = ceil(stage / 3)
示例:
ceil(5 / 3) = 2
ceil(9 / 3) = 3
ceil(1 / 3) = 1
不过,这个答案只有在每个级别正好有3个阶段时才有效。好的
如果您使用的是python,那么它非常简单
>>> 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
谢谢好的
如果您使用的是python,那么它非常简单
>>> 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
谢谢不要在生产代码中做这样的假设。它会回来咬你的…@EricJ。我理解这一点,这就是我在最后指出这一点的原因。同样,这个假设也适用于他提供的例子。如果他说了一些不同的话,我会调整我的答案,但现在它解决了他的问题。千万不要在生产代码中做出这样的假设。它会回来咬你的…@EricJ。我理解这一点,这就是我在最后指出这一点的原因。同样,这个假设也适用于他提供的例子。如果他说了不同的话,我会调整我的答案,但现在它解决了他的问题。