计算机算法设计
文章平均质量分 71
计算机算法设计与经典算法
wrlovesmile
这个作者很懒,什么都没留下…
展开
-
(C/C++)-图的深度优先遍历(DFS)和广度优先遍历(BFS)
(C/C++)-图的深度优先遍历(DFS)和广度优先遍历(BFS)1、图的深度优先遍历(DFS)图的深度优先遍历与树的先序遍历类似,即尽可能深的遍历图这里采取邻接矩阵存储图,存储的图如下:ps: 这个图沿用我的上一篇文章(最小生成树和单源最短路径),有兴趣的伙伴可以看看----点击传送门基本思想:先访问图的某一顶点v,然后由顶点v出发,访问与顶点v邻接并且未被访问的任一顶点w1;在由w1出发,访问与顶点w1邻接并且未被访问的任一顶点w2;重复上述过程,直到所有顶点被访问;具体实现:原创 2021-01-06 22:29:01 · 2452 阅读 · 1 评论 -
(C/C++)-最小生成树算法(Prim&Kruskal)和单源最短路径算法(Dijkstra)
(C/C++)-最小生成树算法(Prim&Kruskal)和单源最短路径算法(Dijkstra)1、什么是最小生成树对于一个带权连通无向图G=(V,E),图G的不同的生成树,其所对应的生成树的权值可能不同。设R是G所有生成树的集合,T是R中权值最小的那棵生成树,则称T为G的最小生成树最小生成树的性质最小生成树可能不唯一,但其对应的边的权值之和总是唯一的,且是最小的;最小生成树的边数为顶点数-1; 2、Prim算法的实现(选点)图G=(V,E),其中V为所有结点的集合,E为图G的边原创 2020-12-12 16:21:07 · 2250 阅读 · 1 评论 -
递归与分治策略算法之循环赛日程表
递归与分治策略算法之循环赛日程表1、先简单的来介绍一下分治策略的思想分治策略的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,分解出来的子问题与原问题相同,并且相互独立。通过递归去解决子问题,然后将子问题的解合并得到原问题的解。2、循环赛日程表问题的介绍...原创 2020-09-11 16:21:36 · 3368 阅读 · 1 评论 -
递归与分治策略算法之棋盘覆盖问题
递归与分治策略算法之棋盘覆盖问题1、先简单的来介绍一下分治策略的思想分治策略的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,分解出来的子问题与原问题相同,并且相互独立。通过递归去解决子问题,然后将子问题的解合并得到原问题的解。2、棋盘覆盖问题的介绍 在一个2k2^k2k*2k2^k2k方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为特殊方格,称该棋盘为特殊棋盘。 现在要让这个大的特殊棋原创 2020-09-09 11:12:33 · 2119 阅读 · 0 评论