图论

最小生成树,克鲁斯卡尔(Kruskal)算法及C/C++代码实现

最小生成树,克鲁斯卡尔(Kruskal)算法及C/C++代码实现1.克鲁斯卡尔算法简介克鲁斯卡尔(Kruskal)算法是一种用来寻找最小生成树的算法(用来求加权连通图的最小生成树的算法)。在剩下的所有未选取的边中,找最小边,如果和已选取的边构成回路,则放弃,选取次……

欧拉图的判定

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

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

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

最小生成树图文解析

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

图的存储-邻接矩阵及C/++代码实现

图的存储-邻接矩阵及C/++代码实现1.什么是图图论(graphtheory)是数学的一个分支,它以图为研究的对象。图论本身是应用数学的一部分,历史上图论曾经被很多数学家各自独立建立过。关于图论的最早文字记载最早出现在欧拉1736年的论……

简述最大团搜索算法

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

图文解析图论BFS(广度优先搜索)

图文解析图论BFS(广度优先搜索)BFS全称是BreadthFirstSearch,中文名是宽度优先搜索,也叫广度优先搜索。是图上最基础、最重要的搜索算法之一。所谓宽度优先。就是每次都尝试访问同一层的节点。如果同一层都访问完了,再访问……

树哈希常用的方式

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

最短路径,迪杰斯特拉(Dijkstra)算法及C/C++代码实现

最短路径,迪杰斯特拉(Dijkstra)算法及C/C++代码实现1.何为最短路径最短路径问题是图论研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径,大致可以分为如下几种问题,可无论如何分类问题,其本质思想还是不变的,即,求两点间的最……

哈密顿图的应用

哈密顿图的应用哈密顿通路(回路)与哈密顿图(Hamilton图)通过图G的每个结点一次,且仅一次的通路(回路),就是哈密顿通路(回路)。下面总结四个定义,帮助大家理解。一、哈密顿图定义通过图中所有顶点一次且仅一次的……