数塔
来源:互联网 发布:协同过滤算法实现 编辑:程序博客网 时间:2024/05/17 05:15
有形如下图所示的数塔,从顶部出发,在每一结点可以选择向左走或是向右走,一直走到底层,要求找出一条路径,使路径上的值最大。
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
用暴力的方法,可以吗?
这道题如果用枚举法(暴力思想),在数塔层数稍大的情况下(如31),则需要列举出的路径条数将是一个非常庞大的数目(2^30= 1024^3 > 10^9=10亿)。
从顶点出发时到底向左走还是向右走应取决于是从左走能取到最大值还是从右走能取到最大值,只要左右两道路径上的最大值求出来了才能作出决策。
同样,下一层的走向又要取决于再下一层上的最大值是否已经求出才能决策。这样一层一层推下去,直到倒数第二层时就非常明了。
如数字2,只要选择它下面较大值的结点19前进就可以了。所以实际求解时,可从底层开始,层层递进,最后得到最大值。
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 数塔
- 嵌入式核心书籍
- 给eclipse添加html jsp js智能提示
- linux 常用到的10个命令
- 图解教你如何使用ANT打包java程序
- vim常用命令
- 数塔
- DP---矩阵连乘
- 关于spring定时器一次调用却触发了两次trigger的问题分析
- python中做层次聚类,使用scipy.cluster.hierarchy.fclusterdata方法
- A/Gb mode, lu mode
- PhantomJS 服务端渲染网页,记录各个请求信息
- html 图片底端对齐
- Struts2配置文件
- 重新安装apahce2 服务器