
计算机算法设计
文章平均质量分 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 · 2664 阅读 · 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 · 2357 阅读 · 1 评论 -
递归与分治策略算法之循环赛日程表
递归与分治策略算法之循环赛日程表 1、先简单的来介绍一下分治策略的思想 分治策略的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,分解出来的子问题与原问题相同,并且相互独立。通过递归去解决子问题,然后将子问题的解合并得到原问题的解。 2、循环赛日程表问题的介绍 ...原创 2020-09-11 16:21:36 · 3558 阅读 · 1 评论 -
递归与分治策略算法之棋盘覆盖问题
递归与分治策略算法之棋盘覆盖问题 1、先简单的来介绍一下分治策略的思想 分治策略的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,分解出来的子问题与原问题相同,并且相互独立。通过递归去解决子问题,然后将子问题的解合并得到原问题的解。 2、棋盘覆盖问题的介绍 在一个2k2^k2k*2k2^k2k方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为特殊方格,称该棋盘为特殊棋盘。 现在要让这个大的特殊棋原创 2020-09-09 11:12:33 · 2347 阅读 · 0 评论