- 前言
- 一、图的定义
- 二、图的基本术语
- 1.无向图与有向图
- 2.简单图
- 3.邻接和依附
- 4.无向完全图和有向完全图
- 5.稀疏图与稠密图
- 6.顶点的度
- 7.权和网
- 8.路径
- 9.回路(环)
- 10.子图
- 11.连通图
- 12.生成树和生成森林
- 总结
提示:以下是本篇文章正文内容
一、图的定义图是由顶点的有穷非空集合和顶点之间边的集合组成, 通常表示为 G = (V, E),其中,G表示一个图,V是图G中顶点的集合,E是图G中顶点之间边的集合
在线性表中,元素的个数可以为0,称为空表 在树中,结点的个数可以为0,称为空树 在图中,顶点个数不能为0,但是可以没有边
二、图的基本术语 1.无向图与有向图 若顶点Vi和Vj之间的边没有方向,则称这条边为无向边,表示为(Vi,Vj)
如果图的任意两个顶点之间的边都是无向边,则称该图为无向图
若顶点Vi和Vj之间的边有方向,则称这条边为有向边(有时也称为弧),表示为,这里是尖括号
如果图的任意两个顶点之间的边都是有向边,则称该图为有向图
2.简单图简单图:在图中,若不存在顶点到其自身的边,并且同一条边不重复出现 图1存在顶点到自身顶点的边,图2存在相同的两条边,都属于非简单图 基本上,在数据结构中都是讨论的简单图
在无向图中,对于任意两个顶点vi和vj,若存在边(vi, vj),则称顶点vi和顶点vj互为邻接点,同时称边(vi, vj)依附于顶点vi和顶点vj V0的邻接点有:V1,V3 V2的邻接点有:V1,V3,V4
在有向图中,对于任意两个顶点vi和vj,若存在弧,则称顶点vi邻接到顶点vj,顶点vj邻接自顶点vi,同时称边弧依附于顶点vi和顶点vj V0的邻接点:V1, V2 V2的邻接点:V3 注意:与无向图的区别
在线性结构中,元素之间的关系为前驱和后继 在树结构中,结点之间的关系为双亲和孩子 在图结构中,顶点之间的关系为邻接
无向完全图:在无向图中,任意两个顶点之间都存在边
有向完全图: 在有向图中,任意两个顶点之间都存在方向相反的两条弧 在含有n个顶点的完全无向图中有n*(n-1)/2条边 在含有n个顶点的完全有向图中有n*(n-1)条弧
稀疏图:边数很少的图 稠密图:边数很多的图 这里的多与少只是相对而言
6.顶点的度在无向图中,顶点v的度是指依附于该顶点的边数,通常记为TD(v)
在有向图中,顶点的度分为入度和出度 顶点v的入度是指以该顶点为弧头的弧的数目,记为ID(v) 顶点v的出度是指以该顶点为弧尾的弧的数目,记为OD(v)
在具有n个顶点,e条边的无向图G中,各个顶点度之和于边数之和的关系是: 在具有n个顶点,e条边的有向图G中,各个顶点出/入度之和于边数之和的关系是:
权:是指对边赋予的有意义的数量值 网:边上带权的图,也称为网图
路径:在无向图G=(V,E)中,从顶点vp到顶点vq之间的路径是一个顶点序列(vp=vi0,vi1,vi2,…,vim=vq),其中(vij-1,vij)属于E,若G是有向图,则路径也是有方向的,顶点序列满足属于E
路径的长度
非带权图:路径上边的个数 带权图:路径上各边的权之和
V0到V3的路径: V0->V3 长度为1 V0->V1->V2->V3 长度为3 V0->V1->V4->V2->V3 长度为4
回路(环):第一个顶点和最后一个顶点相同的路径 简单路径:序列中顶点不重复出现的路径 简单回路(简单环):除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回来 如图,红色的为一个简单回路
若图G = (V,E),G" = (V’ , E’ ),如果V’ 包含于V,并且E’ 包含于V’,则称图G’ 是图G的子图
连通图: 在无向图中,如果从一个顶点vi到另一个顶点vj(i!=j)有路径,则称顶点vi和vj是连通的
如果图中任意两个顶点都是连通的, 则称该图是连通图
连通分量: 非连通图的极大连通子图称为连通分量
极大连通子图需满足:含有极大顶点数,依附于这些顶点的所以边 强连通图: 在有向图中,对图中任意一对顶点vi和vj(i!=j),若从顶点vi到顶点vj 和 从顶点vj到顶点vi均有路径,则称该有向图是强连通图。
强连通分量:非强连通图的极大强连通子图
生成树: n个顶点的连通图G的生成树是包含G中全部顶点的一个极小连通子图
极小连通子图:含有n-1条边
生成森林: 在非连通图中, 由每个连通分量都可以得到一棵生成树,这些连通分量的生成树就组成了一个非连通图的生成森林
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?