- 博客(7)
- 收藏
- 关注
原创 图论初步-连通图
在无向图中,如果任意两个顶点之间都存在一条路径,那么这个图被称为连通图。在有向图中,如果任意两个顶点之间都存在一条有向路径,则称为强连通图。连通图是图论中的一个重要概念,它在网络、通信、交通等领域有着广泛的应用。在C++中,我们可以通过邻接矩阵、邻接表等数据结构来实现图的存储和操作,并利用深度优先搜索(DFS)或广度优先搜索(BFS)等算法来检测图的连通性。上述代码示例展示了如何使用邻接表和BFS来检测一个图是否是连通的。
2024-06-02 16:12:17
1368
原创 图论初步-存储图与遍历图
图是一种非线性的复杂数据结构,广泛应用于计算机科学和数学领域。在图论中,遍历图是探索图中所有顶点和边的过程。C++提供了多种方法来遍历图,其中最常见的两种是广度优先搜索(BFS)和深度优先搜索(DFS)。本文将介绍如何在C++中实现这两种遍历算法,以及如何在C++中存储图。
2024-06-02 14:22:08
238
原创 LCA-最近公共祖先
最近公共祖先简称。两个节点的最近公共祖先,就是这两个点的公共祖先里面,离根的那个。为了方便,我们记某点集 的最近公共祖先为LCAU1U2...Un或LCAs。
2024-06-02 13:59:55
1608
原创 快速幂算法
顾名思义,快速幂就是快速算底数的n次幂。其时间复杂度为 O(logN), 与朴素的O(N)相比效率有了极大的提高。时间复杂度log(n)性质快速算底数的n次幂原理快速幂算法的核心思想就是每一步都把指数分成两半,而相应的底数做平方运算。这样不仅能把非常大的指数给不断变小,所需要执行的循环次数也变小,而最后表示的结果却一直不会变。
2024-06-02 13:44:37
257
原创 动态规划基础 第一章
很显然可以看出,**f(w)** 只与 **f(w-1)**, **f(w-5)**, **f(w-11)** 有关,在这三者中,由于我们要**最小化**,硬币的数量,因此,我们得到 **f(w)=min{f(w-1),f(w-5),f(w-11)}+1**我们观察一下性质,在 **w=15** 时,如果我们取了 **11** ,则我们需要面对 **w=4** 的情况,如果我们取了 **5** ,则我们需要面对 **w=10** 的情况,如果我们取了 **1** ,则我们需要面对 **w=14**
2024-05-18 16:00:30
345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人