博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态规划最后一击
阅读量:6257 次
发布时间:2019-06-22

本文共 532 字,大约阅读时间需要 1 分钟。

每一个学习算法的人最初接触动态规划时都久久不能理解其思想。为了更好的体会动态规划的思想,我推荐以下学习方式学习方式:

首先研究最大连续子序列和,最长递增字串这两个题目,没有必要强行套对着题目套用状态,转换方程之类的,等你熟练了动态规划的思想后那些自动就理解了。关于这两个题目我建议找一张纸对着非递归的步骤一步一步写,看保存状态的数据的变化,写上几步,看一下实际结果和理想的分析方法是否吻合。例如,如果用a[i]表示以第i个元素结尾的最大子数组和,那么这样分析,去试着写出最开始的几步,通过这些步骤去验证这个算法的正确性。

做完以上的题目后,我推荐去看一下算法导论中的矩阵连乘问题,之前的那个问题还属于你当前状态的情况取决于紧邻你的状态和状态转以后也就是新状态之间的比较,通过这个比较来确定最优解,而矩阵连乘这个问题稍微复杂一点,但更好的体现出动态规划的目的“缩小问题规模”,这个问题和之前问题不同在,n的最优解是通过对n-1的所有最优解的组合判断得到的,这让我想到了另一个题,就是二维数组的和最大子矩阵,这个问题的解决,也是通过把二维矩阵变成一维来处理的。

转载于:https://www.cnblogs.com/chaiwentao/p/4617332.html

你可能感兴趣的文章
python课程设计笔记(二)破冰基本语法
查看>>
内存的那些事
查看>>
HDOJ 1034 模拟 水
查看>>
软件项目管理课感想
查看>>
【转载】APK反破解之四:Android代码动态加载技术
查看>>
(转)iOS Wow体验 - 第三章 - 用户体验的差异化策略
查看>>
vsftp配置大全---超完整版
查看>>
继:我朝特有需求之--英文字符占 0.5 个,中文字符占 1 个
查看>>
关于 Overtrue 的拼音库 overtrue/pinyin 为何 travis 为 error
查看>>
ASP.NET Word/Excel 权限问题
查看>>
IOS 3D UI --- CALayer的transform扩展
查看>>
img绝对定位在div中间,img上下稍微移动问题
查看>>
前序遍历构造已知二叉树(二叉链表实现)(Java)
查看>>
查看CentOS版本
查看>>
关于VS 中 HttpHandler 的设置 500.23
查看>>
19.04.27--作业 打字游戏
查看>>
连接Access数据库的DAL层操作代码
查看>>
mysql重置auto_increment字段
查看>>
MySQL的优化
查看>>
bzoj1702[Usaco2007 Mar]Gold Balanced Lineup 平衡的队列*
查看>>