随笔分类 -  算法

算法学习笔记
摘要:贪心算法之最优装载问题 1. 问题描述 ​ 有一批集装箱要装上一艘重量为$c$的轮船,其中集装箱$i$的重量为$W_i$。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。 2. 问题分析 2.1确定贪心策略 ​ 采用重量最轻者先装的贪心选择策略,可产生该问题的最优解。 2 阅读全文
posted @ 2020-12-16 22:44 Thoughtful_z 阅读(2227) 评论(0) 推荐(0)
摘要:贪心算法之背包问题 1.与动态规划的区别 ​ 通过研究解决经典的组合优化问题,来说明二者的差别。即0-1背包问题与背包问题 0-1背包问题:给定$n$中物品和一个背包。物品$i$的重量为$W_i$,其价值为$V_i$,背包的容量为$C$。应如何选择装入背包的物品,使得装入背包中物品的总价值最大?对于 阅读全文
posted @ 2020-12-16 22:03 Thoughtful_z 阅读(1752) 评论(0) 推荐(0)
摘要:动态规划之0-1背包问题 1. 问题描述 ​ 给定$n$件物品和一背包,物品$i$的重量是$w_i$,其价值为$v_i$,背包的容量为$c$。问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大? ​ 在选择装入背包的物品时,对于每种物品$i$只有俩种选择,即装入背包或不装入背包。不能将物品 阅读全文
posted @ 2020-12-15 22:48 Thoughtful_z 阅读(293) 评论(0) 推荐(0)
摘要:动态规划之最长公共子序列 1. 问题描述 ​ 若给定序列$X = {x_1, x_2,\ldots,x_m}$,则另一序列 $Z = {z_1, z_2, \ldots,z_k}$是$X$的子序列,是指存在一个严格递增下标序列${i_1,i_2,\ldots,i_k}$,使得对于所有$j = 1, 阅读全文
posted @ 2020-12-15 06:53 Thoughtful_z 阅读(159) 评论(0) 推荐(0)
摘要:动态规划之矩阵连乘问题 1. 问题描述 ​ 给定$n$个矩阵${A_1, A_2,\ldots,A_n}$,其中$A_i$与$A_{i+1}\(是可乘的\)(i = 1, 2,\ldots, n - 1)$,矩阵$A_i$的维数为$p_*p_i, i=1, 2,\ldots,n$。考察这$n$个矩阵 阅读全文
posted @ 2020-12-13 22:00 Thoughtful_z 阅读(455) 评论(0) 推荐(0)
摘要:回溯法的总结 ​ 回溯法的解空间树主要包含$n$叉树、排列树、子集树。 ​ 例如在回溯法求解$N$皇后问题时,采用$n$叉树的结构,如下图所示: ​ ​ 该解空间即为$n$叉树的情况,当$x_1$选择$1$时,即进入第一个分支,进而在通过剪枝函数判断,当前分支是否有可能为最优解,若为可能产生最优解则 阅读全文
posted @ 2020-12-12 22:14 Thoughtful_z 阅读(388) 评论(0) 推荐(0)
摘要:回溯法之图的m着色问题 1. 问题描述 ​ 给定无向连通图$G$和$m$种不同的颜色。用这些颜色为图$G$的各个顶点着色,每个顶点着一种颜色。是否有一种着色发使$G$中每条边的2个顶点着不同颜色。这个问题是图的$m$可着色判定问题。若一个图最少需要$m$种颜色才能使图中每条边链接的2个顶点着不同颜色 阅读全文
posted @ 2020-12-12 20:51 Thoughtful_z 阅读(1419) 评论(0) 推荐(0)
摘要:回溯法之最大团问题 1. 问题描述 ​ 给定无向图$G = (V, E)$。如果$U \subseteq V$,且对任意$u, v \in U$,有$(u, v) \in E$,则称$U$是$G$的完全子图。 ​ 完全子图$U$是$G$的团$\iff$不包含在比$G$更大的完全子图中。 ​ $G$的 阅读全文
posted @ 2020-12-11 21:55 Thoughtful_z 阅读(641) 评论(0) 推荐(0)
摘要:回溯法之0-1背包问题 1. 问题描述 ​ 假设有$n = 4$个物品,有一个容量为$c = 7$的背包,其中物品的重量数组$weight = {3, 5, 2, 1}$,物品的价值数组$value = {9, 10, 7, 4}$。要求求解该包最多能装下多少价值的物品。 2. 问题分析 ​ 该问题 阅读全文
posted @ 2020-12-11 20:18 Thoughtful_z 阅读(247) 评论(0) 推荐(0)
摘要:回溯法之N皇后问题 1. 问题描述 ​ 在n*n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之在同一行或同一列或同一斜线上的旗子。n后问题等价于在n*n格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。 2. 问题分析(以n=4皇后问题为例) ​ 有俩 阅读全文
posted @ 2020-12-11 10:56 Thoughtful_z 阅读(720) 评论(0) 推荐(0)
摘要:回溯法之批处理作业调度 1. 问题描述 ​ n个作业集合{1, 2, ..., n}。每个作业先由机器1处理,再由机器2处理。作业i需要机器j处理的时间为Mij 。 Mij 机器1 机器2 作业1 2 1 作业2 3 1 作业3 2 3 ​ 对于一个确定的作业调度,设Fij 是作业i在机器j上完成的 阅读全文
posted @ 2020-12-10 21:48 Thoughtful_z 阅读(749) 评论(0) 推荐(0)