算法设计与分析动态规划
Posted seasonbubble
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法设计与分析动态规划相关的知识,希望对你有一定的参考价值。
1. 斐波那契数列
显然,如果我们打算直接递归计算它的每个值,会有重复计算的部分,这个时候我们可以考虑把得到的值存起来,每次调用。
首先,会自然的想到用数组存下,每次计算下标的前两位的值。
但是随后我们边发现,其实每次都只需要保留最后两个数的值就能计算出下一个数的值了。这样减少了存储空间的占用。
2.计算二项式系数
3. 最优二叉查找树
3.1 来源
如今在输入栏上输入关键字,搜索引擎都会按照以前搜索的关键字记录计算频率,得到用户最有可能想要的输入内容。
如何高效查找带频率的键值,使频率高的值尽可能离根结点近,低的尽量远。
3.2 核心
二叉树的左子树的任意结点都小于根节点,右子树的任意结点都大于根节点。
二叉树搜索树中搜索一个关键字需要访问的结点数等于包含关键字的结点的深度加1。
所谓最优,是最少的平均比较次数。即
3.3 参考资料
https://www.cnblogs.com/henuliulei/p/10074216.html(上图源此)
https://blog.csdn.net/tengweitw/article/details/16972241
https://blog.csdn.net/liufeng_king/article/details/8694652
3.4 理解
由动态规划的思想,当T(i,j)min时,T(left)和T(right)也应该是最小的
而C(i,j)=查找根结点+查找左子树+查找右子树
(源自 https://blog.csdn.net/tengweitw/article/details/16972241)
以上是关于算法设计与分析动态规划的主要内容,如果未能解决你的问题,请参考以下文章