图论

图论矩阵树定理实例讲解

图论矩阵树定理实例讲解矩阵树定理也称Matrix-Tree定理或Kirchhoff定理。这个定理提供了一种方式使用一个特殊的矩阵的行列式来计算一个图的生成树的数量。对于一个无向图来说,我们可以构造它的Laplace矩阵L,……

什么是虚树?

什么是虚树?当我们遇到一类频繁询问关键点信息的题目时,往往数据范围颇大,而对关键点总和有一定限制,此时我们可以建立虚树,将问题规模转化为关键点总和级别的。一、定义什么是虚树?当我们在树上有部分结点是无用的或用处不……

最短路径,弗洛伊德(Floyd)算法及C/C++代码实现

最短路径,弗洛伊德(Floyd)算法及C/C++代码实现1.算法简介弗洛伊德算法与迪杰斯特拉算法是公认的最著名的两种最短路径求解算法,接下来介绍弗洛伊德算法,弗洛伊德算法的思路是:首先初始化距离矩阵,然后从第一个点开始逐渐更新矩阵点值。d[i][j]表示从……

欧拉图的判定

欧拉图的判定本篇将简要介绍欧拉图的概念、实现和应用,帮助大家在答题中更好的判定。一、定义圈:任选图中一个顶点为起点,沿着不重复的边,经过不重复的顶点为途径,之后又回到起点的闭合途径称为圈。欧拉路径:通过图中所有边……

DFS求有向图(无向图)两点间路径

DFS求有向图(无向图)两点间路径本文会围绕算法中DFS求有向图或无向图两点间所有路径,先讲解DFS以及有向图或无向图的意思。有向图在图中的边是有方向的,表现出来就是有个箭头指示方向,节点只能单向通信或传递消息,相当于单行道,无向图边……

最小生成树图文解析

最小生成树图文解析最小生成树英文是MinimumSpanningTree,对于最小生成树大家应该都不陌生,当然还有最大生成树,首先就简单总结一下算法里的生成树。一、什么是生成树?Spanning有跨越的意思,生成树一般……

图的存储:链式向前星

图的存储:链式向前星1.概念链式向前星代码是基于向前星代码的优化,这是极大多数算法竞赛以及高效率图论算法喜欢适用的创建方法,与邻接表和邻接矩阵比较容易的理解方式,向前星算法并不容易理解。在理解链式向前星之前我们需要了解什……

简述最大团搜索算法

简述最大团搜索算法一、引入在计算机科学中,团问题指的是在给定的图中找到团(顶点的子集,都彼此相邻,也称为完全子图)的计算问题。团的问题在现实生活中也有体现。例如我们考虑一个社交网络,其中图的点代表用户,图的边代表其所连……

图的基础概念

图的基础概念图(Graph)是由顶点和连接顶点的边构成的离散结构。在计算机科学中,图是最灵活的数据结构之一,很多问题都可以使用图模型进行建模求解。图(Graph)通常会放在树(Tree)后面介绍,树可以说是图的特……

树哈希常用的方式

树哈希常用的方式树哈希,顾名思义,对树进行哈希,经常判断两个树是否同构。一下均为对有根树的算法,而无根树只需要找重心。我们有时需要判断一些树是否同构。这时,选择恰当的哈希方式来将树映射成一个便于储存的哈希值(一般是3……