自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 算法分析与设计14(字符串最小编辑距离)

文章目录1.问题2.解析3.设计4.分析5.源码1.问题给定一个源串和目标串,能够对源串进行如下操作:在任意位置上插入一个字符;替换任意字符;删除任意字符。写一个程序,实现返回最小操作次数,使得对源串进行上述这些操作后等于目标串(源串和目标串的长度都小于2000)。2.解析该题的思想可用动态规划或者递归求解,主要描述动态规划:假设源字符串和目标字符串分别为str_a、str_b,二者的长度分别为la、lb,定义f[i,j]为子串str_a[0…i]和str_b[0…j]的最小编辑距离,简单分

2021-06-19 11:42:54 156

原创 算法分析与设计12(图的m点着色问题,回溯算法)

文章目录1.问题2.解析3.设计4.分析5.源码1.问题给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色。如果要求G的每条边的两个顶点着不同颜色。给出所有可能的着色方案;如果不存在,则回答“NO”。2.解析设图G有n个顶点,顶点编号为1,…,n。则搜索空间为深度n的m叉完全树,颜色编号为1,…,m。<x1,x2,…,xk>(x1,…,xk)∈{1,…,m}表示顶点i的颜色xi.3.设计bool judge(int v) {for (int i = 0; i

2021-05-31 16:33:14 434

原创 算法分析与设计11(最优二元前缀)

文章目录1.问题2.解析3.设计4.分析5.源码1.问题问题:给定字符集 C=和每个字符的频率,求关于 C 的 一个最优前缀码。2.解析哈夫曼树的基本思想:选择权值小的叶子离根距离远。第一步:以每个结点作为根,构造只有一个根结点的n棵二叉树,根的权值就是结点的权。第二步:在所有二叉树中选择根的权值最小的两棵二叉树作为左右子树构造一棵新的二叉树,根的权值等于其左右子树的根的权值之和。第三步:去掉选中的二叉树、加入新生成的二叉树。第四步:重复2、3步,直至只剩下一棵树为止。3.设计in

2021-05-26 19:56:19 316

原创 算法分析与设计10(装载问题,0-1背包问题)

文章目录1.问题2.解析3.设计4.分析5.源码1.问题0-1背包问题:2.解析思路:轻者先装,直到再装任何集装箱将使轮船载重量超过 C 时停止。定理:对于任何正整数 k,算法(轻者先装)对 k 个集装箱的实例得到最优解。(数归)证明:(1)k=1,集装箱个数为1且重量小于c,任何装法都只有一种方式,因此都是最优解,因此轻者先装也是最优解。(2)假设算法对于规模为 k 的输入都能得到最优解。则对于k+1的输入,通过拿掉最轻的集装箱能够得到规模为k的输入根据归纳假设,对于 k 个输入,

2021-05-20 22:21:27 216

原创 算法分析与设计8(矩阵链乘法)

文章目录1.问题2.解析3.设计4.分析5.源码1.问题设A1,A2,A3,…,An为 n 个矩阵的序列,其中Ai为Pi-1*Pi阶矩阵,这个矩阵链的输入用向量P=<p0,p1,…,pn>给出。给定向量 P,确定一种乘法次序,使得基本运算的总次数达到最小。2.解析蛮力法枚举所有可能的乘法次序,针对每种次序计算基本运算的次数,从中找出具有最小运算次数的乘法次序,每一种乘法次序对应了一种在 n 个项中加n-1 对括号。动态规划法3.设计4.分析5.源码...

2021-05-16 22:13:08 109

原创 算法分析与设计9-1(最长公共子序列问题)

1.问题最长公共子序列问题(Longest Common Subsequence,LCS),给定序列X=<x1,x2,…,xm>,Y=<y1,y2,…,yn>,求 X 和 Y 的最长公共子序列。2.解析3.设计算法伪代码:实际样例演示:算法二:(1)x=4,y=3删除2个:X=<C,B,A,D>,Y=<B,C,D> => X=<C,B,A>,Y=<B,C> 输出D(2)x=3,y=2删除x:

2021-05-16 21:27:58 118

原创 算法分析与设计9-2(背包问题)

文章目录1.问题2.解析3.设计4.分析5.源码1.问题非形式化描述:一个旅行者准备随身携带一个背包。可以放入背包的物品有 n 种,物品 j 的重量和价值分别为wj,vj.j=1.2.3…如果背包的最大重量限制是 b,怎么选择放入背包物品以使得背包的价值最大。l 组合优化问题:目标函数(价值) 约束条件(总量) 其中xj表示放入背包的第 j 种物品的数量组合优化问题的目标函数和约束条件都是线性函数,称为线性规划问题。2.解析表示只允许装前k种物品背包总重量不超过y时,背包的最大价值

2021-05-16 21:17:17 487

原创 算法分析与设计7(投资问题)

文章目录1.问题2.解析3.设计4.分析5.源码1.问题投资问题,参考讲义的样例数据2.解析设表示 x 万元投给前 k 个项目的最大效益,k=1,2,…,n,x=1,2,…,m递推公式:3.设计For k=1 to n //第k个项目For x=1 to m //k个项目总分配资金For xk =0 to x //第k个项目分配xk万元4.分析5.源码github源码...

2021-04-25 17:48:33 150

原创 算法分析与设计6(用特定分治策略求第k小的元素)

1.问题选第k小元素:特定分治策略2.解析3.设计void select(vector<int> S, int n, int k) { vector<int> s1, s2, m,s; s = S; for (int i = 0; i < n; i += 5) { int len = min(5,n-i); sort(s.begin() + i, s.begin() + i + len,cmp); m.push_back(s[i+(len-1)/2]

2021-04-24 12:46:33 106

原创 算法分析与设计5(分治法解决最近点对问题)

1.问题n个点在公共空间中,求出所有点对的欧几里得距离最小的点对。2.解析3.设计4.分析5.源码

2021-04-18 08:34:52 215

原创 算法分析与设计4(二分归并排序算法)

实验报告1.问题二分归并排序:对n个不同的数构成的数组A[1…n]进行排序,其中n=2^k2.解析3.设计4.分析5.源码https://github.com/jinkaili-410/kl.github.io/blob/master/project4/project4.cpp

2021-03-30 23:04:09 97

原创 算法分析与设计3(查找算法)

实验报告1.问题在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0。2.解析搜索算法可用顺序查找和二分查找。顺序查找直接按顺序进行比对。二分查找算法根据要查找的数据的大小进行数组折半,不断循环此操作。如下:19 22 36 48 52 61 74假设X=22;mid=(low+high)/2=(0+6)/2=3;T[mid]>x,high=mid-1=2;重新计算mid=1得x==T[mid],返回当时下标。3.设计4.分析

2021-03-22 16:11:03 100

原创 算法分析与设计2(Floyd算法和Dijkstar算法计算最短路径)

实验报告Floyd算法和Dijkstar算法计算顶点最短路径1.问题用Floyd算法求解下图各个顶点的最短距离。写出Floyd算法的伪代码和给-出距离矩阵(顶点之间的最短距离矩阵)。对于下图使用Dijkstra算法求由顶点a到顶点h的最短路径。2.解析1.3.设计1.4.分析Floyd的时间复杂度为:n^3;Dijkstar的时间复杂度为n^2.5.源码...

2021-03-20 20:05:04 121

原创 算法设计与分析1(用prim算法和kruskal构造最小生成树)

实验报告课程名称 《算法分析与设计》 实验日期 2021年3 月8 日 至 2021 年 3 月 10 日学生姓名 金凯立 所在班级 计算机195 学号 2019212212226实验名称 采用prim算法构造最小生成树。实验地点 同组人员1.问题采用prim算法构造最小生成树。[描述算法问

2021-03-09 20:45:54 459

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除