一、Bellman Ford算法 1. 用于解决单源最短路径的问题,但也能够处理有负权边的情况。这是与Djikstra算法不同的地方。 2. 关于复杂度,要比Djikstra的复杂度更高一点。O(VE),而Djikstra复杂度是O(V^2),V是点的数量,E是边的数量 3. 原理,就是会出现负环的 ...
分类:
编程语言 时间:
2020-03-03 11:26:13
阅读次数:
91
? 重点:dijkstra算法按层计算其余点到源点的最短距离,层层扩展。 1. dijkstra算法 求解目标:找到图中源点到其余点的最短距离,是单源点最短距离算法。 整体思路:每一步都寻找到与源点 最近的点 ,层层扩展,是贪心算法。 具体实现: 输入:给定一个图的邻接表M,源点u。 辅助变量:存储 ...
分类:
编程语言 时间:
2020-03-02 22:25:27
阅读次数:
86
1.图的概念和术语 2.图-存储方式(邻接矩阵法) 2.2、图-存储方式(邻接表法) ...
分类:
其他好文 时间:
2020-03-02 11:05:10
阅读次数:
58
图的存储 邻接表 无结构体 结构体 邻接矩阵 图的遍历 DFS 邻接表 ...
分类:
其他好文 时间:
2020-02-25 00:25:05
阅读次数:
67
将关键字序列50,40,95,20,15,70,60,45,80调整成一个小根堆,堆结构是15,20,60,45,40,70,95,50,80()。 解析:创建堆的基本思想:先把无序的关键字按顺序构造成完全二叉树,从最后一个分支节点开始往前,不断地利用筛选算法,将一棵棵子树调整为一个堆(让根与其左右 ...
分类:
其他好文 时间:
2020-02-23 20:33:06
阅读次数:
98
代码介绍: 文件数据格式:点的数量,边的数量,源点序号,汇点序号 每条边:起点,终点,容量 从文件中读取数据,构建网络流图,使用dinic算法求解最大流,采用数组邻接表存储数据。 求最大流过程:不断找一条源点到汇点的路径,若有,找出增广路径上每一段权值的最小值,然后构建残余网络。再在残余网络上寻找新 ...
分类:
其他好文 时间:
2020-02-21 12:58:05
阅读次数:
82
#include <bits/stdc++.h> #include <stdio.h> #include <stdlib.h> #include <queue> using namespace std; const int N = 1111; vector<int> G[N];//邻接表 bool ...
分类:
其他好文 时间:
2020-02-11 11:40:20
阅读次数:
68
题目背景 缩点+DP 题目描述 给定一个 n 个点 m 条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大。你只需要求出这个权值和。 允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。 输入格式 第一行两个正整数 n,m 第二行 n 个整数,依次代表点权 第三至 m ...
分类:
其他好文 时间:
2020-02-10 13:23:36
阅读次数:
59
AOV拓扑排序实验总结-1 实验数据:1、实验输入数据在input.txt文件中2、对于n是指有顶点n个,数据的结束标志是一行0 0。 实验目的:获取优秀的AOV排序算法模板 数据结构安排:1、队列:负责记录入度为0且没有排序的AOV顶点2、邻接表结点:邻接表结点采用自定义的复合结构,保存顶点信息、 ...
分类:
编程语言 时间:
2020-02-09 18:27:15
阅读次数:
138
树的存储(邻接表)和深度优先遍历 //数组的邻接表存储 vector<int> q[maxn]; //这个是一般的 int fi[maxn]; //存储节点的儿子个数 int to[maxn]; //存储节点的具体每个儿子 int ne[maxn]; //指向该节点的下一个儿子 void link( ...
分类:
其他好文 时间:
2020-02-09 09:42:13
阅读次数:
90