自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最长公共子序列(C语言)

问题1:钢条切割问题2:矩阵链乘法《算法导论》中动态规划的第三个问题是最大子序列这里的最大子序列的定义是:找出一个序列S3,S3在S1和S2中都出现,且出现的顺序相同,现在找出最长的一个S3。对于序列A=“ABCBDAB”,B=“BDCABA”他的一个最大子序列是“BCBA”。...

2021-04-01 21:23:43 5809

原创 算法导论——矩阵链乘法(显示完全括号方案)

1.刻画一个最优解的特征2.递归的定义最优值3.计算最优值,通常采用自底向上的方法

2021-04-01 00:01:44 1216

原创 算法导论——钢条切割问题(C语言)

《算法导论》在对动态规划讲解时,第一个问题就是钢条切割的问题。在书中,对这个问题提供了3种思路利用普通的递归来解,时间复杂度为O(2^n)对普通的递归进行优化,使其带有记忆功能,减少运行时间。即自顶向下的动态规划运用数组,自底向上的动态规划现在依次讲解这三个思路,并且用代码实现它们!首先先看题现在给你一根钢条,你可以把它切成几个小部分(也可以不用切割),要找到一种方法,使得这根钢条可以卖出最多的价钱。如:长度为4的钢条有三种卖法不切割直接买,可以买价格9切割为1,3再买,同样是价

2021-03-25 23:30:17 3795 3

原创 广度优先搜索邻接矩阵表示——(C语言)

在图论算法中图的表示主要有有邻接矩阵和邻接表两种表示法,在这篇文章之前,已经发布了dijkstra算法的邻接表表示法dijkstra算法的邻接表表示两种表示法的算法思路是一样的,只是表示的方式不同而带来了代码表示上的细微区别。个人认为邻接矩阵的表示法更为简洁,有邻接表有些繁琐。由于思路相似,所以这里只记录代码上的区别;首先在数据的输入上,以矩阵来储存图上各点的连通性int map[9][9]={0}; for(i=0;i<9;i++) { printf("输入与第%d个点相连的点:

2021-03-22 00:10:20 502 1

原创 网络流——最大流算法(C语言实现)

最大流算法最大流算法是图论的一个重要算法,可以应用在管道运输等方面。现在给出一个有向图,点1为出发点,点6为收点,计算由点1到点6的最大流

2021-03-11 15:39:49 3069

原创 dijkstra算法笔记(C语言实现,显示路径)

dijkstra算法(迪杰斯特拉算法)笔记(C语言实现,显示路径)具体描述每一步的运行情况在学习完广度优先搜索之后,了解了在无权图中怎么找出最短路径。但广度优先搜索解决不了当边具有权值的情况。dijkstra算法就是解决这种情况的算法。一个具有边权的图:现在,以1位初始点,找出各点到1的最短距离,并且显示路径。首先创建一个结构数组,来储存各点的信息:struct item{ int key; //这个点是否被访问 int dis; //这个点到原点的距离 int

2020-12-01 23:33:55 1182

原创 最小生成树Prim算法笔记(C语言实现)

最小生成树Prim算法笔记(C语言实现)最小生成树书上的定义是:一个无向图G点最小生成树就的由该图的那些链接G的所有顶点的边构成的树,且总价值最低所以,一个最小生成树,要具有原图的所有顶点,且这些顶点用一种方法连接起来,所有边的和具有最小的权值。一个图:它的最小生成树: 现在来看如何由Prim算法得到最小生成树首先,把所有的边都去掉,把这个图上所有的点组成一个点集。可以任选一个初始点(这里选择第1个点作为初始点)。在到与1相连的边里面,找一个权值最小的:显然,在与1相连的2,4,1中1

2020-11-30 22:38:02 2397

空空如也

空空如也

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

TA关注的人

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