- 博客(13)
- 收藏
- 关注
原创 算法大作业 第三题
算法大作业 第三题1. 问题给定一个源串和目标串,能够对源串进行如下操作:在任意位置上插入一个字符;替换任意字符;删除任意字符。写一个程序,实现返回最小操作次数,使得对源串进行上述这些操作后等于目标串(源串和目标串的长度都小于2000)。2. 解析该问题我想用动态规划解决动态规划就是一步步来,先假设目标串只一个字符,两个…直至到真正的长度开一个二维数组d[i][j]来记录a0-ai与b0-bj之间的编辑距离,要递推时,需要考虑对其中一个字符串的删除操作、插入操作和替换操作分别花费的开销
2021-06-22 13:40:29
264
原创 算法作业12 图的m着色问题
图的m着色问题1. 问题图的m着色问题。给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色。如果要求G的每条边的两个顶点着不同颜色。给出所有可能的着色方案;如果不存在,则回答“NO”。2. 解析在填写每一个顶点的颜色时检查与相邻已填顶点的颜色是否相同。如果不同,则填上;如果相同(冲突),则另选一种;如果已没有颜色可供选择,则回溯到上一顶点。重复这一过程,直到所有顶点的颜色都已填上。 使用color[n],大小为n,n代表顶点,里面的值代表这个顶点放的是哪种颜色。 Trac
2021-06-21 23:45:16
204
原创 算法作业9 LCS算法和背包算法
LCS算法和背包算法1. 问题描述算法问题,首选形式化方式(数学语言),其次才是非形式化方式(日常语言)]LCS算法和背包算法,特别要求举例时采用不同于讲义的数据进行推导。最长公共子序列问题(Longest Common Subsequence,LCS),给定序列 X和Y,求 X 和 Y 的最长公共子序列背包算法:2. 解析X=<A,B,C,D,A>Y=<B,A,C,B>m=0-5n=0-4(1)i=1a) j=1 X.A<>Y.B:C[1,1]=
2021-06-21 22:05:48
178
原创 算法作业8 矩阵链乘法
矩阵链乘法1. 问题要求:矩阵链乘法,特别要求举例时采用不同于讲义的数据进行推导。2. 解析矩阵乘法次数的计算:以两个矩阵相乘为例,A1*A2,A1和A2为两个矩阵,假设A1的行列数是p[i-1]*p[i],A2的行列数是p[i]p[j]。那么对于A1A2而言,我们需要分别执行p[i-1]*p[j]次对应A1的行元素乘以A2的列元素,根据线性代数知识,可以得到一共需要执行p[i-1]*p[i]*p[j]次乘法。动态规划法3. 设计4. 分析5. 源码矩阵链乘...
2021-06-21 20:50:13
222
原创 作业11 最优前缀编码
LCS算法和背包算法特别要求举例时采用不同于讲义的数据进行推导。1. 问题[描述算法问题,首选形式化方式(数学语言),其次才是非形式化方式(日常语言)]2. 解析[问题的理解和推导,可用电子版直接在此编写,也可用纸笔推导,拍照嵌入本文档]3. 设计[核心伪代码]4. 分析[算法复杂度推导]5. 源码[github源码址...
2021-05-10 15:23:18
224
原创 算法作业2 用Floyd算法求各顶点之间的最短距离 Dijkstra算法求由顶点a到顶点h的最短路径
用Floyd算法求各顶点之间的最短距离1. 问题用Floyd算法求解下图各个顶点的最短距离。写出Floyd算法的伪代码和给出距离矩阵(顶点之间的最短距离矩阵)2. 解析Floyd算法:通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。从图的带权邻接矩阵A=[a(i,j)] n×n开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(1);又用同样地公式由D(1)构造出D(2);……;最后又用同样的公式由D(n-1)构造出矩阵D(n)。矩阵D(n)的i行j列元素便是i号顶点
2021-03-22 16:30:39
634
原创 算法作业3 两种检索算法
两种检索算法(顺序查找和二分查找)1. 问题写出两种检索算法:在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0.按实验模板编写,“分析”部分仅给出复杂度结果即可。2. 解析顺序查找:顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。二分查找:也称为是折半查找,属于有序查找算法。用给定值k先与中间结
2021-03-22 16:26:25
132
原创 算法作业 1.构造最小生成树( Prim算法和Kruskal算法)
构造最小生成树( Prim算法和Kruskal算法)1.问题1.采用Prim算法构造最小生成树2.采用Kruskal算法构造最小生成树2.解析1. Prim算法:2.Kruskal算法3.设计1.prim算法2.Kruskal算法功能快捷键4.分析(时间复杂度)1.prim算法2.Kruskal算法5.源码1.prim算法2.Kruskal算法1.问题1.采用Prim算法构造最小生成树2.采用Kruskal算法构造最小生成树2.解析1. Prim算法:输入:一个加权连通图,其中顶点集合为 V,边
2021-03-14 21:58:41
1179
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅