图与网络分析

图的矩阵表示

在这里插入图片描述

  1. 邻接矩阵。
    viv_ivjv_j有点,则第i行第j列是1,否则是0。
    在这里插入图片描述
  2. 关联矩阵
    行数等于点的个数,列数等于边的个数。
    每一列只有两个非0元素,出发点是1,终止点是-1。
    在这里插入图片描述

图的特性

  1. 任何图中,顶点的次数总和等于边数的两倍,则顶点的次数永远是偶数。
  2. 任何图中,奇点的个数为偶数个
    奇点的次数+偶点的次数=偶数
    由于偶点的次数是偶数,则奇点的次数可以表示为两个偶数之差。

树的概念与特性

  1. 树的定义:联通且不含圈的无向图。
  2. 树的特性
    (1)边的个数是点的个数减1。
    (2)树中任意两点有唯一的链相连。
    (3)树是连通的,但是任意去掉一条边就不连通。
    (4)树中无圈,但是每增加一条新边,就得到唯一的一个圈。
  3. 每棵树至少有两个次为1 的点。
    树中次为1的点的个数有偶数个,假设上述定理不成立,则次为1的点有0个。又因为树是联通的,则不存在次为0的点,那么每个点的次至少是2。假设点的个数是n,则次的个数至少是2n,则边的个数至少是2n,矛盾!
    特别的,如果每个点的次都是2,则该树退化为一条链。
  4. 森林:不含圈的无向图。
  5. 支撑子图:子图中包含了全部的点,边没有要求。
  6. 图的支撑树:如果图G的支撑子图是树,则将其称为G的支撑树。
  7. 图G=(V,E)有支撑子图的充要条件是G是连通图
  8. 最小支撑树
    这个概念针对赋权图,即假设每个边上有一个非负权值。称支撑树上每个树枝的权值之和为树的权。
    具有最小权的支撑树成为最小支撑树。

避圈法求最小支撑树

  1. 将所有的边按照权值升序排列,从权值最小的边开始选树枝,如果可能形成圈,则跳过,知道选够顶点数-1的边数。

Dijkstra求最小支撑树

  1. 从任一点开始逐渐增加某个点集,记为S,每次从不在S的点集中选择距离S一步距离最小的点加入S,将相应的点选取为树枝,知道包含所有的点。
  2. 例子:红色的点是S集合,每次标出S到S补集中一步距离最小的点。
    在这里插入图片描述
    在这里插入图片描述

边割与割集

  1. 边割:对于图G=(V,E),任取S∈V,其补集为S\overline{S}。假设二者都不是空集,则端点分属两个集合的边构成的集合称为边割。
  2. 割集:除去边割后,连通性丧失。除去边割的真子集后,连通性保持。
  3. 推论:被割集分开的两部分是是分别连通的。

不定期问题的Dijkstra问题

问题:求一个赋权图中任意一点到别的所有点的最短距离,如求v1v_1到所有点的最短路径。
在这里插入图片描述
其实这是动态规划的问题,其核心就是下面的优化方程
f1(vj)=l1jfk+1(vj)=min{fk(vi)+lij} f_1(v_j)=l_1j \\ f_{k+1} (v_j)=min\{f_k(v_i)+l_ij\}
k表示迭代次数,即当前S集合中点的个数。每多迭代一步,S中就增加一个点,还要更新与这个点关联的所有距离。

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试
应支付0元
点击重新获取
扫码支付

支付成功即可阅读