随笔分类 - 算法笔记
懂了不一定会,会了也不一定对,学完难理解的算法,写一点总结,理理思路
摘要:从刚开始接触背包到现在,已经快两个月了,学完背包之后就又继续学其它东西,现在该回头再来复习一下,整理整理自己的思路,使自己对背包更熟练一点,这里自己先复习一下0/1背包和完全背包。 0/1背包的主要思路就是:这件物品,取还是不取。用一个二维数组dp[i][v]来表示对第i个物品,背包容量为v时的情况。c[i]表示第i件物品的体积,w[i]表示第i件物品的价值。那么考虑第i件物品取与不取:如果不取,那么就可以转化为i-1件物品、容量仍然为v、价值没有增加的情况(dp[i-1][v]);如果取,那么转化为i-1件物品、容量减去第i件物品的体积后剩余容量、价值加上第i件物品的价值后的情况(dp...
阅读全文
摘要:KMP算法开始学的时候很不好理解,自己写了篇总结一下放在这里,使自己的思路清晰一下。 KMP算法之所以能够以o(m+n)(m为模式串长度,n为匹配串长度)的复杂度完成字符串匹配,是因为KMP算法不同于朴素的算法要进行匹配串指针的回溯。举个例子,对朴素的算法,如果要在”aadadefgadk“中匹配"adk“,首先比较"aad"与"adk",发现不匹配,然后再比较"ada"与"adk",考虑一种极端情况"aaaaaaaac"(有8个a)与"aaaaaaac"(有7个a
阅读全文
浙公网安备 33010602011771号