数模笔记(七):图论1.0

本文介绍了图的基本概念,包括顶点、边、路径、连通性等,并探讨了无向图、有向图、稀疏图和稠密图。重点讲解了迪杰斯特拉算法和弗洛伊德算法,它们分别用于寻找有权图中的最短路径。此外,还讨论了最小生成树的概念,以及克鲁斯卡尔和普里姆算法的实现。
摘要由CSDN通过智能技术生成

数模笔记(一):线性规划、整数规划及非线性规划

数模笔记(二):层次分析法

数模笔记(三):灰色系统分析方法

数模笔记(四):插值与拟合

数模笔记(五):变异系数法

数模笔记(六):两变量相关性分析与主成分分析

一、基本概念

1.图的概念

一个图G是指一个二元组(V(G),E(G)),可简记为G=(V,E)。其中

(1)

是非空有限集,称为顶点集,其中元素称为图G的顶点。

(2)E(G)是顶点集V(G)中的无序或有序的元素偶对

组成的集合,即称为边集,其中元素称为

2.图G的是指图的顶点数|V(G)|,用v来表示;图的边的数目|E(G)|用ε来表示。

3.若一个图的顶点集和边集都是有限图,则称其为有限图。只有一个顶点的图称为平凡图,其他的所有图都称为非平凡图。

4.若图G中的边均为有序偶对(vi,vj),称G为有向图。称边e=(vi,vj)为有向边,称e=(vi,vj)是从vi连接vj,称vi为e的,称vj为e的

5.若图G中的边均为无序偶对(vi,vj),称G为无向图。称边e=vi vj为无向边,称e连接vi与vj,顶点vi和vj称为e的端点。既有无向边又有有向边的图称为混合图。

6.常用术语

1)边和它的两端点称为互相关联

2)与同一条边关联的两个端点称为相邻的顶点,与同一个顶点关联的两条边称为相邻的边。

3)端点重合为一点的边称为,端点不相同的边称为连杆

4)若一对顶点之间有两条以上的边联结,则这些边称为重边

5)既没有环也没有重边的图,称为简单图

6)任意两顶点都相邻的简单图,称为完全图,记为Kv。

7)若V(G)=X∪Y,且X∩Y=∅,且X 中任意两顶点不相邻,Y 中任意两顶点不相邻,则称为二部图偶图;若X中每一顶点皆与Y 中一切顶点相邻,称为完全二部图完全偶图,记为Km,n (m=|X|,n=|Y|)。

8) 图K1,n叫做

8.若图G=(V(G),E(G))的每一条边e 都赋以一个实数w(e),称w(e)为边e的权,G 连同边上的权称为赋权图

9.设G=(V,E)和G'=(V',E')是两个图。

1)若V'⊆V,E'⊆E,则称G'为G的一个子图,记G'⊆G。

2)若V'=V,E'⊆E,则称G'是G的生成子图

3)若V'⊆V,且V'≠∅,以V'为顶点集,以两端点均在V'中的边的全体为边集的图G的子图,称为G的V'导出的子图,记为G[V']。

4)若E'⊆E,且E'≠∅,以E'为边集,以E'的端点集为顶点集的图G的子图,称为G的E'导出的子图,记为G[E']。

10.图的矩阵表示

1)邻接矩阵

①对无向图G,其邻接矩阵为A

②对有向图G,其邻接矩阵为A,其中

③对有向赋值图G,其邻接矩阵为A,其中

2)关联矩阵

①对无向图G,其关联矩阵为M,其中

②对有向图G,其关联矩阵为M,其中

11.图的顶点度

1)在无向图G中,与顶点v关联的边的数目(环算两次),称为顶点v的次数,记为d(v)或 dG(v)。称度为奇数的顶点为奇点,度为偶数的顶点为偶点

2)在有向图中,从顶点v引出的边的数目称为顶点v的出度,记为d+(v),从顶点v引入的边的数目称为v的入度,记为d-(v)。称d(v) = d+(v) + d -(v)为顶点v的次数

12.路和连通

1)无向图G的一条途径(或通道或链)是指一个有限非空序列W=v0e1v1e2…ekvk,它的项交替地为顶点和边,使得对1≤i≤k,ei的端点是vi-1与vi,称W是从vo到vk的一条途径,或一条(v0,vk)途径。整数k称为W的长。顶点v0和vk分别称为W的起点和终点,而v1,v2,…,vk-1称为W的内部顶点。

2)若途径W的边互不相同但顶点可重复,则称W为简单链

3)若途径W的顶点和边均互不相同,则称W为路径。起点为v0,终点为vk的路称为(v0,vk)路,记为P(v0,vk).

4)途径W中由相继项构成子序列vi e(i+1) v(i+1) … ej vj称为途径W的

5)起点与终点重合的途径称为闭途径

6)起点与终点重合的的路称为(或回路),长为k的圈称为k阶圈,记为Ck。

7)若在图G中存在(u,v)路,则称顶点u和v在图G中连通

8)若在图G中顶点u和v是连通的,则顶点u和v之之间的距离d(u,v)是指图G中最短(u,v)路的长;若没有路连接u和v,则定义为无穷大。

9)图G中任意两点皆连通的图称为连通图

10)对于有向图G,若W=v0e1v1e2…ekvk,且ei有头vi和vi-1,则W称为有向途径。类似地,可定义有向迹,有向路和有向圈。

13.有很少条边或弧(边的条数|E|远小于|V|²)的图称为稀疏图(sparse graph),反之边的条数|E|接近|V|²,称为稠密图(dense graph)。

二、迪杰斯特拉算法(Dijkstra's Algorithm)

(一)概念

1.是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。不能解决带有“负权回路”的图

(二)步骤

1.每次从未标记的节点中选择距离出发点最近的节点,标记,收录到最优路径集合中。

2.计算刚加入节点A的邻近节点B的距离(不包含标记的节点),若(节点A的距离+A到B的边长)<节点B的距离,就更新节点B的距离和前面点

三、弗洛伊德算法(Floyd-Warshall Algorithm)

(一)概念

1.求任意两顶点间的最短路,同样不能解决带有“负权回路”的图。

2.借助P矩阵与D矩阵进行计算,P矩阵用来存放各个顶点之间最小路径的中转点,即前置矩阵。D矩阵用来存放各个点之间的最短距离。

三、最小生成树(Minimum Spanning Tree)

(一)概念

1.连通且不含圈的无向图称为树。常用T表示。树中的边称为树枝。树中度为1的顶点称为树叶。孤立顶点称为平凡树。

(二)算法

1.克鲁斯卡尔算法(Kruskal Algorithm)

适合于求边稀疏的网的最小生成树。将所有边按照权值的大小进行升序排序,然后从小到大一一判断,条件为:如果这个边不会与之前选择的所有边组成回路,就可以作为最小生成树的一部分;反之,舍去。直到具有 n 个顶点的连通网筛选出来 n-1 条边为止。筛选出来的边和所有的顶点构成此连通网的最小生成树。

2.普里姆算法(Prim Algorithm)

普里姆算法在找最小生成树时,将顶点分为两类,一类是在查找的过程中已经包含在树中的(假设为A类),剩下的是另一类(假设为B类)。对于给定的连通网,起始状态全部顶点都归为B类。在找最小生成树时,选定任意一个顶点作为起始点,并将之从B类移至A类;然后找出B类中到 A 类中的顶点之间权值最小的顶点,将之从B类移至A类,如此重复,直到B类中没有顶点为止。所走过的顶点和边就是该连通图的最小生成树。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liutangplease

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值