关于Graphs的基础总结

Remarks:该总结参考我的CSDN+slides+《算法(Algorithm)》 Robert Sedgewick& Kevin Wayne+《算法导论》 Thomas H. Corment etc.

基本知识

G = (V, E)
V: a set of vertices
E: a collection of pairs of vertices, called edges
图由节点(node)和边(edge)组成,一个节点可能与众多节点直接相连,这些节点被称为“邻居”。
边(edges):由一对(v, w)构成,v和w在V里。
度(degree):依附于顶点的总边数
出度:以任意一顶点为起点的弧的数目称为该顶点的出度
入度:以任意一顶点为终点的弧的数目称为该顶点的入度
顶点(vertex):代表一个实体
路径(path):从顶点a到顶点b的边,path是edge的序列
邻居(neighbor/adjacency):若两个顶点同边
回路(cycle):一个起点终点在同一个节点的路径(一个环)
弧头:弧的终端点
弧尾:弧的初始点
loop:给自己的圈套(an edge directly form a node itself)
权(weight):边的cost,或图的边/弧具有与它相关的数
弧:有向图中连接顶点的称作弧
连通:在无向图中,如果从顶点a到顶点b有路径,则称a和b是连通的
parallel edges:如果两条edges的endpoints是一样的
simple path 简单路径:一条没有重复edge/vertice的path
simple cycle 简单环:除顶点和终点外,没有重复vertice/edge的cycle
tree:an acyclic connected graph = 没有回路的连通图

基本图

完全图:在无向图中有n/2(n-1)条边的无向图称为完全图,或所有边都顶点都连上了
有向完全图:具有n(n-1)条弧的有向完全图称为有向完全图,或所有顶点啥都连上了
稀疏图:有很少条边或弧的图
稠密图:与稀疏图相反
无圈图(acyclic graph):没有任何回路(没环)
网: 每个边或弧都附加一个权值的图,称为带权图。而带权的连通图称为网
网络:带权的连通图称为网络
连通图(connected):至少有一条路径连接起所有顶点or相通
强连通图(strongly connected):所有顶点有到所有点的路径
有向图(directed graph):有指明方向
带权图(weighted graph):边被赋予一个权值,权值是一个数字,能代表物理距离、时间、或费用

edge的类型

directed edge: 第二个v是dest OR 有箭头的edge
undirected edge: unordered pair of vertices OR 无箭头的edge

定律

  1. degree sum
    sum(deg(v)) = 2E
  2. maximum degree
    max(deg(v)) = V-1
  3. edge count
    E <= V(V-1)/2

Graph - Edge List

方法的时间较慢

Graph - Adjacency Lists

可以留出足够的空间+方法的实现快

Graph - Adjacency Matrix

V^2,所需空间太大;无法表示平行边

你可能感兴趣的:(关于Graphs的基础总结)