08 2021 档案
摘要:二分图: 如果一个图中的所有顶点可以分成左右两个集合,两个集合不存在任意两个顶点是直接相连的。 也就是说:同一个点集中任意两个点之间没有边,一条边上的两个顶点一定不在同一个集合。 染色法判断二分图: 给每个点设置一个标志,如果一个点标记为1,那么它的直接后继节点为2,如果一个点被标记两次不同的值,那
阅读全文
摘要:最小生成树: 1.生成树中任意顶点之间有且仅有一条通路,也就是说,生成树中不能存在回路; 2.对于具有 n 个顶点的连通网,其生成树中只能有 n-1 条边,这 n-1 条边连通着 n 个顶点。 朴素版prim算法 一:适用范围 稠密图,时间复杂度O(n2) 二:算法思路 1.所有距离初始化为正无穷
阅读全文
摘要:堆优化版dijkstra 一:使用范围 单源最短路,所有边权都是正数,稀疏图(边数和点数相差不大),时间复杂度(mlogn); 二:优化思路 朴素版dijkstra 遍历所有点比较找出距离最近的点使用优先队列进行优化; 稀疏图用邻接表存图; 1.将优先队列定义成小根堆 priority_queue<
阅读全文
摘要:朴素版Dijkstra算法 一.适用范围: 单源最短路,所有边权都是正数,(朴素版Dijkstra 时间复杂度O(n的平方) ),稠密图(边数远远大于点数) 二.算法思路: 1.初始化距离 各个顶点到源点的距离为正无穷(memset(dist,0x3f,dist)源点本身到源点的距离为0(dist[
阅读全文