Desc: 从上往下遍历树直到叶节点为止,如果找到两个叶节点则计算它们的平均值。 对 tree 进行塌陷处理,即返回树平均值。 Args: tree -- 输入的树 Returns: 返回 tree 节点的平均值
(tree)
| 183 | |
| 184 | # 计算左右枝丫的均值 |
| 185 | def getMean(tree): |
| 186 | """ |
| 187 | Desc: |
| 188 | 从上往下遍历树直到叶节点为止,如果找到两个叶节点则计算它们的平均值。 |
| 189 | 对 tree 进行塌陷处理,即返回树平均值。 |
| 190 | Args: |
| 191 | tree -- 输入的树 |
| 192 | Returns: |
| 193 | 返回 tree 节点的平均值 |
| 194 | """ |
| 195 | if isTree(tree['right']): |
| 196 | tree['right'] = getMean(tree['right']) |
| 197 | if isTree(tree['left']): |
| 198 | tree['left'] = getMean(tree['left']) |
| 199 | return (tree['left']+tree['right'])/2.0 |
| 200 | |
| 201 | |
| 202 | # 检查是否适合合并分枝 |