摘要: 数塔问题基本模型 如上图所示数塔, 要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 数塔思想: 自顶向下分析, 自底向上计算。H(i) 表示第i层的最大值。要得到H(i + 1), 则考虑上一层结点, 到其相邻节点可取得的值, 取最大值作为H(i + 1)。 如果按照上述做法, 从顶到底算起, 则时间复杂度为 O(2^(n – 1)); 考虑从底部算起,计算每个结点到底层的最大值,即上一层结点与其相邻节点的最大值,以这个最大值作为上一层结点的值, 重复这一过程,直到塔顶。时间复杂度为O(n)简单应用多少条路径 猴子爬树, 最初猴子在第一棵树... 阅读全文
posted @ 2012-10-03 17:29 ProgrammingEveryday 阅读(437) 评论(0) 推荐(0) 编辑