算法
ve2102388688
这个作者很懒,什么都没留下…
展开
-
前缀树C++, leetcode 648. 单词替换
由于时间限制,先贴出来代码,后面详细分析1 已经考虑了内存释放的问题,即使Trie类成员变量是vector容器,也要写析构函数class Trie {public: Trie() : children(26), isWord(false) {} /**<仅有小写字母 */ ~Trie() { /**<销毁内存 */ for (int i = 0; i &原创 2021-08-26 11:06:38 · 185 阅读 · 0 评论 -
算法之动态规划,问题一:矩阵连乘时乘法次数最少?
目录1 问题的描述2 何为动态规划?3 矩阵连乘4 算发的实现1 问题的描述给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的,i=1,2 ,…,n-1。如何确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少。给定三个矩阵:A1 20 × 100,A2 100 × 10,A3 10 × 50 计算顺序:方案一: ((A1 × A2) × A3...原创 2019-09-27 18:56:29 · 6028 阅读 · 0 评论 -
算法之动态规划,问题二:带权重的任务安排问题
目录1 问题的描述2 贪心算法?3 算法的参数约定及递推式4 算法具体实现5 回溯原问题的解6 案例输出7 源代码1 问题的描述一个任务j在sj开始,并在fj结束;并且每个任务都有权重。任务相容:任务安排的时间没有重叠目标:找到最大权重,且相容的任务安排举例:如下图,可以有如下的活动安排:a、ga、hb、e、hb、fb、gc、fc、gc、hd、he、h一共有10种相...原创 2019-09-28 19:38:03 · 6304 阅读 · 2 评论 -
算法之动态规划,问题三:0 1 背包问题
目录1 问题的描述2 贪心算法?3 算法的参数约定及递推式4 算法具体实现5 回溯原问题的解6 案例输出7 源代码1 问题的描述0 1 背包的问题:有n个物品(权重Wi>0,价值Vi>0),一个背包最多装W重量的物品,并且物品只有装/不装两种可能。目标:怎么装物品,才是使背包的物品价值和最大?举例:下面是物品的基本信息,背包最多装11kg的物品。方案一: 1、2、5 的重量...原创 2019-09-29 17:28:53 · 571 阅读 · 0 评论