
算法设计与分析笔记
ltx06
这个作者很懒,什么都没留下…
展开
-
汉诺塔递归算法理解及实现
转自:http://blog.youkuaiyun.com/leo115/article/details/7991734汉诺塔问题描述: A、B、C 三个桌子,其中A桌子上放了几个大小不同的盘子,盘子的排列顺序为: 从上到下,依次从小到大递增;现要求把这些盘子从 A 桌子上移动到 C 桌子上,盘子移动时有一点要求:每次移动必须保证三张桌子上大盘子在下、小盘子在上;打印移动次序。如转载 2014-12-17 20:38:19 · 619 阅读 · 0 评论 -
0-1背包问题入门小结 动态规划(DP)经典题目 POJ324 POJ1276
转自:http://blog.youkuaiyun.com/sj13051180/article/details/6687674 最近在做背包问题,今天写点东西总结一下。 背包问题,常见的有三种类型:基本的0-1背包、完全背包和多重背包、二维背包 首先是基本的0-1背包问题。因为这里的物品一般指花瓶、玉器什么的,要么拿、要么不拿,只有0和1两转载 2014-12-25 15:05:35 · 733 阅读 · 0 评论 -
背包九讲(转~~~~转自某位牛人)
转自:http://blog.youkuaiyun.com/paradisemoon/article/details/4224763DD牛的背包九讲P01: 01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种转载 2014-12-25 16:18:31 · 400 阅读 · 0 评论 -
0-1背包问题的一维数组解法
转自:http://blog.youkuaiyun.com/tr990511/article/details/7595854核心思想:for i:=1 to N dofor j=V downto c[i] doif f[j-c[i]]+w[i]>f[j] thenf[j]=f[j-c[i]]+w[i];背包问题九讲-P01 0-1背包问题在讲背包问题的时候老师说转载 2014-12-25 15:56:37 · 798 阅读 · 0 评论 -
减治法(二) 生成排列的减治算法及其他算法
转自:http://www.cnblogs.com/kkgreen/archive/2011/06/17/2084007.html从这篇文章始,将花连续2篇文章来介绍2个很重要的问题:生成排列和生成子集它们都有减一治策略的算法,但这2篇文章将不仅仅局限于减一治策略来实现,而将介绍更多的实现算法。这篇介绍排列,下篇介绍子集。----------------------转载 2014-12-22 17:17:51 · 1611 阅读 · 0 评论 -
动态规划6-背包问题+记忆递归
转自:http://blog.youkuaiyun.com/mengzhejin/article/details/378808572个问题:1)背包问题的动态规划解法2)动态规划的另一种实现方式,记忆递归(dp的第一篇文章就提到过,professional中也提到过),在这里来讲解,加上全面所有的文章,这一点应该可以算是动态规划里最后一个没有详细介绍的关键点了---转载 2014-12-22 16:59:11 · 1625 阅读 · 0 评论 -
动态规划5-矩阵连乘问题
转自:http://blog.youkuaiyun.com/mengzhejin/article/details/37880829最优二叉查找树的一道思考习题同最优二叉查找树一样,矩阵连乘问题也是一个卡特兰数问题(其动态规划的构造过程都很像)-------------------------------------------------------------转载 2014-12-22 16:58:18 · 1368 阅读 · 0 评论 -
动态规划2-和ACM大牛的对话
转自:http://blog.youkuaiyun.com/mengzhejin/article/details/37880487学习DP过程中的一些和大牛、该大牛为acm冠军、也是交大acm历史上最牛的人,没有之一。交流的心得:差不多就是我理解的一个阶梯过程,为保护隐私,去掉名字了:石头 16:23:46 动态规划是不是一般就是填矩阵?石头 16:23转载 2014-12-22 16:52:55 · 819 阅读 · 0 评论 -
分治法(一)
转自:http://www.cnblogs.com/kkgreen/archive/2011/06/10/2077923.html参考 算法设计与分析 第四章 分治法这篇文章将讨论:1) 分治策略的思想和理论2) 几个分治策略的例子:合并排序,快速排序,折半查找,二叉遍历树及其相关特性。说明:这几个例子在前面都写过了,这转载 2014-12-22 16:38:07 · 794 阅读 · 0 评论 -
减治法(一)
转自:http://www.cnblogs.com/kkgreen/archive/2011/06/17/2083915.html这篇文章将讨论:1) 减治法的思想和策略2) 几个数据结构里面经典的使用减治策略的算法:插入排序,深度和广度优先查找,拓扑排序(都是减一治的)通过 1) 2)明白减治策略的基本思想和方法,也对经典数据结构做一番新的审视,从减转载 2014-12-22 17:15:33 · 3826 阅读 · 0 评论 -
动态规划4-最优二叉查找树
转自:http://blog.youkuaiyun.com/mengzhejin/article/details/37880641前面说过动态规划最典型的就是解决最优化问题的(具有最优子结构的最优化问题),最优二叉查找树就是一个典型的最优化问题。问题描述:给定一个n元素的中序序列,它可以有卡特兰数个不同形状的二叉排序树。(卡特兰数的定义及证明参见组合数学):转载 2014-12-22 16:56:36 · 1320 阅读 · 0 评论 -
动态规划3-Warshall算法和Floyd算法
转自:http://blog.youkuaiyun.com/mengzhejin/article/details/37880569上2篇详细分析了动态规划的一些理解,传统的教材上就大概说了下空间换时间,记忆以避免重复计算等。然后我们在文章中深入的分析和解释了交叠子问题是怎么表现的,最优子结构的表现,多阶段决策(无后效性)的表现,递推式(状态转移方程),一个状态表示一个子问题的解转载 2014-12-22 16:55:12 · 1003 阅读 · 0 评论 -
动态规划
转自:http://blog.youkuaiyun.com/mengzhejin/article/details/37880413终于来到了算法设计思想中最难,也最有趣的这部分,在去年的google笔试中,7道算法设计题有2道动态规划(Dynamic Programming)。看了这么久的算法,这部分也是唯一感觉到了比较难的地方,从这篇文章开始,将花连续的篇幅来讨论一些动态转载 2014-12-22 16:51:00 · 427 阅读 · 0 评论 -
笔记一:递归
一开始讲了算法的空间复杂度和时间复杂度的分析,其怎么由来的,一步步的分析演变,以前看过《算法之道》,这个还有点熟悉,就是具体的例子的时间复杂度的分析不怎么会,应多加练习,毕竟这是很基础的东西~然后就是递归和分治~ 今晚只够时间讲递归~其实,都看过递归~以前刚刚开始接触的时候觉得很容易,慢慢的就很难了,就是实现代码的时候碰到了思维障碍,过不去,大二时就学过递归~很重要的基础以前的原创 2014-09-11 00:41:29 · 930 阅读 · 0 评论 -
分治法(二)
转自: http://www.cnblogs.com/kkgreen/archive/2011/06/12/2078668.html参考 《算法设计与分析》 第四章 分治法 Anany Levitin著 翻译版 清华大学出版社 在上一篇文章中,介绍了分治策略的思想,主定理,以及几个用分治策略的经典案例。这一篇文章将继续探讨分治算法的其他应用,包括转载 2014-12-22 16:40:39 · 565 阅读 · 0 评论 -
0-1背包和完全背包 的完整讲解版 包含 一维数组实现 和二维数组实现题目
转自:http://www.360doc.com/content/13/0705/12/13049620_297797824.shtml//有N件物品和一个容量为V的背包。第i件物品的体积是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。//基本思路//这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。//用子问题定义状转载 2014-12-25 16:02:06 · 1372 阅读 · 1 评论