- 博客(12)
- 收藏
- 关注
原创 图的m着色问题
问题图的m着色问题。给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色。如果要求G的每条边的两个顶点着不同颜色。给出所有可能的着色方案;如果不存在,则回答“NO”。解析1.从无向图的第一个节点开始,从第一个颜色开始,依次判断当前颜色是否正确,判断的依据为:同相邻节点所有节点的颜色行比较,如果有该节点且颜色有重复,都不符合要求,否则继续检验后序的位置。2.如果该节点所有颜色都不符合要求,则回溯到前一节点,改变颜色的位置,继续试探。3.如果试探到最后一个节点,所有节点的颜色都符合.
2021-06-23 03:46:59
206
原创 最优前缀编码
问题最优前缀编码解析1、 将每个字符的使用频率按照升序进行排序。2、 每次从频率数组中取出频率最小的两个字符作为新节点的左右节点,新节点的值为左右节点的频率之和。3、 将新节点放入频率数组中,重新按照升序排序。4、 重复第2、3步骤,直到生成所有频率节点生成一棵二叉树,这棵树就是我们构建的哈夫曼树。5、 通过哈夫曼树就字符集进行编码,对于所有节点来说,左孩子编码为0,右孩子编码为1。分析O(nlogn)...
2021-06-23 03:37:31
213
原创 装载问题(0-1背包问题)
问题装载问题(0-1背包问题)解析dp[j]就表示当下表为j的时候所能装载的最大数量.dp的状态转移方程dp[j] = max(dp[j], dp[j - w[i]] +1);(i从1~n 也就是所有的物品)分析O(nm)
2021-06-23 03:32:41
247
原创 LCS算法和背包算法
问题LCS算法和背包算法解析Xi=<x1,x2,…,xi>Yj=<y1,y2,…,yj>Zk=<z1,z2,…,zk>如果Zk是Xi和Yj的最长公共子序列,分成三种情况(1)xi = yj,那么zk = xi = yj,Zk-1是Xi-1和Yj-1的最长公共子序列(2)xi ≠ yj,那么zk ≠ xi,Zk-1是Xi-1和Yj的最长公共子序列(3)xi ≠ yj,那么zk ≠ yi,Zk-1是Xi和Yj-1的最长公共子序列分析O(mn)...
2021-06-23 03:27:29
55
原创 矩阵链乘法
问题矩阵链乘法解析刻画一个最优解的结构特征;递归地定义最优解的值;计算最优解的值,通常采用自底向上的方法;利用计算出的信息构造一个最优解。分析O(2^(n-1))
2021-06-23 03:20:25
155
原创 选第k小元素:特定分治策略
问题选第k小元素:特定分治策略解析k=|S1|+1,m*就是所要找的第k小的数;以m为划分标准后,比m小的有|S1|个,如果恰巧,k=|S1|+1,则m就是所要找到第k小的数k<=|S1|,归约为在S1中找第k1小的子问题,k1在子问题中的相对位置不变,即k1=k;k>|S1|+1,归约为在S2中找k2位置的子问题,k2相对于S2子问题和k相对于S的关系,即k2=k-|S1|-1。(在S中找k,就是在S2中找k2)分析O(n)...
2021-06-23 03:05:39
111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人