拓扑排序是对有向无圈图的一种排序,它使得如果存在一条从vi到vj的路径,那么在排序中vj出现在vi后面。 首先,对每一个顶点计算它的入度,记录在一个数组中,然后,将所有入度为0的顶点放入一个初始为空的队列中。当队列不空时,删除一个顶点v,并将与v邻接的所有的顶点的入度减1,只要一个顶点的入度降为0, ...
分类:
编程语言 时间:
2020-01-29 12:44:23
阅读次数:
92
1.过n个有标志顶点的树的数目等于nn-2.(Cayley定理) 2.在n个不同元素中取r个作允许重复的组合,其组合数为C(n+r-1,r). 3.从A={1,2,…,n}中取r个作不相邻的组合,其组合数为C(n-r+1,r). 4.线性方程x1+x2+…+xn=b的非负整数解的个数是(n+b-1, ...
分类:
其他好文 时间:
2020-01-29 12:26:39
阅读次数:
79
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<cmath> using namespace std; #define MAXN 10 // 顶点个数最大值 struct Arcnode ...
分类:
其他好文 时间:
2020-01-28 17:34:53
阅读次数:
68
#include <iostream> using namespace std; #define INFINITY 65536//无穷大 #define MAX_VERTEX_NUM 10//最大顶点个数 typedef enum{DG,DN,UDG,UDN}GraphKind;//有向图,有向网, ...
分类:
其他好文 时间:
2020-01-28 17:22:56
阅读次数:
177
图的定义 图G由顶点集V和边集E组成,记为G=(V,E),其中V(G)表示图G中顶点的 有限非空集 ;E(G)表示图G中顶点之间的关系(边)的集合。 注意:线性表可以是空表,树可以是空树,图不可以是空图,图可以没有边,但是至少要有一个顶点。 1.有向图 若E是有向边(简称弧)的有限集合时,则G为有向 ...
分类:
其他好文 时间:
2020-01-27 19:31:36
阅读次数:
131
用线段树处理颜色段数 记录区间内的颜色段数,区间右端点的颜色,区间右端点的颜色. 树链剖分 先是定义存图 然后是每个点的深度,大小,重儿子,父亲. 然后是每个点所在的重链的顶点的编号,dfs顺序和点编号的映射,tot记录顺序的编号. 第一次dfs,确定点之间的父子关系,大小,深度,重儿子: 第二次d ...
分类:
其他好文 时间:
2020-01-26 23:52:54
阅读次数:
74
所谓最短路径问题是指:如果从图中某一顶点(源点)到达另一顶点(终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边的权值总和(称为路径长度)达到最小。 下面我们介绍两种比较常用的求最短路径算法: Dijkstra(迪杰斯特拉)算法 迪杰斯特拉算法思想是按路径长度递增的次序一步一步并入来求取, ...
分类:
编程语言 时间:
2020-01-26 20:36:54
阅读次数:
92
图 基本概念 图是由顶点集合(vertex)及顶点间的关系集合(边edge)组成的一种数据结构。 这里的图并非指代数中的图。图可以对事物以及事物之间的关系建模,图可以用来表示自然发生的连接数据,如:社交网络、互联网web页面 常用的应用有:在地图应用中找到最短路径、基于与他人的相似度图,推荐产品、服 ...
分类:
其他好文 时间:
2020-01-26 19:15:45
阅读次数:
89
一、Prim Prim算法的思想是: 1. 整个顶点集为$V$,初始选一个起点$s$,令集合$u=\{s\}, v=\{\}$; 2. 在集合$u$与集合$V u$中的点组成的边中,选一条权值最小的边$u_0v_0$加入MST,并且将$u_0$加入$u$; 3. 重复直到MST有$n 1$条边或$n ...
分类:
其他好文 时间:
2020-01-26 16:06:05
阅读次数:
101
n个顶点m条边,请求割边 输入格式: 第一行给定三个整数 n,m 。n 个城镇,m 条道路(双向道路)。接下来给出 m 行,每行两个正整数表示这两个城镇之间有边相连。 输出格式: 一个整数,有几条关键道路。 样例 1 : 输入:6 6 1 3 1 4 2 3 2 4 2 5 5 6 输出:2 说明: ...
分类:
其他好文 时间:
2020-01-26 15:47:29
阅读次数:
57