首页 > 其他分享 >408-图基础

408-图基础

时间:2023-01-07 18:56:30浏览次数:55  
标签:连通 vi vj 基础 储存 数组 顶点 408

  • 图的定义

 

 

 线性表中我们把数据元素叫元素,树中将数据元素叫结点,在图中数据元素,我们则称之为顶点(Vertex)

图( Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。

需要注意的是线性表中可以没有数据元素,称为空表。树中可以没有结点,叫做空树。但是图不能没有顶点。

无向边:若顶点v到v之间的边没有方向,则称这条边为无向边(Edge),用无序偶对(vi,vj)来表示。如果图中全都是无向边,则称该图为无向图。

有向边:若从顶点vi到vj的边有方向,则称这条边为有向边,也称为弧(Arc )。可以写作<vi,vj>。注意不能写作<vj,vi>。

总结:无向边用小括号“()”表示,而有向边则是用尖括号“<>”表示。

 

图上的边或弧上带权则称为

在图中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。我们主要讨论的都是简单图。

在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。

在有向图中,如果任意两个顶点之间都存在方向互为相反的两条弧,则称该图为有向完全图。

有很少条边或弧的图称为稀疏图,反之称为稠密图

对于无向图G= (V{E),如果边(v') ∈E,则称顶点v和V互为邻接点(Adjacent),即v和v相邻接。

顶点v的度(Degree)是和v相关联的边的数目,记为TD(v)。

  • 连通图

在无向图G中,如果从顶点vi到顶点vj有路径,则称vi和vj是连通的。如果对于图中任意两个顶点vi和vj都是连通的,则称G是连通图(ConnectedGraph)。

无向图中的极大连通子图称为连通分量。

在有向图G中,如果对于每一对vi、vj∈V、v≠V,从vi到vj和从vj到vi都存在路径,则称G是强连通图。有向图中的极大强连通子图称做有向图的强连通分量

所谓的一个连通图的生成树是一个极小的连通子图,它含有图中全部的n个顶点,但只有足以构成一棵树的n-1条边。

  • 图的储存结构

邻接矩阵储存方式:用两个数组来表示一个图,一个一维数组来储存顶点信息,一个二维数组(又叫邻接矩阵)来储存边的信息。

邻接表储存方式:将邻接矩阵中的二维数组改成n个链表,第i个链表储存i点到其他顶点的边的信息,可以节约储存空间。

链式前向星:参考这篇博客有关SPFA,Dijkstra和l链式前向星 - redintonc - 博客园 (cnblogs.com)

边集数组:将所有边储存在一个一维数组中,在最小生成树算法中会用来寻找权值最小的边。

 

 

标签:连通,vi,vj,基础,储存,数组,顶点,408
From: https://www.cnblogs.com/redintoncforever/p/17033251.html

相关文章

  • 一天学会sevlert基础
    创建servlet步骤:在pom.xml文件里面导入依赖:<dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId>......
  • etcd集群-备份恢复-添加节点-删除节点-基础命令
    1、集群环境IP分配:192.168.10.110k8s-deploy-harbor2c2g192.168.10.111k8s-master1-etcd1-haproxy12c4g192.168.10.112k8s-master2-etcd2-haproxy22c4g192.1......
  • javaScript-DOM-获取元素,事件基础,操作元素
    javaScript-DOM目录javaScript-DOM1.DOM简介1.1什么是DOM1.2DOM树2.获取元素2.1如何获取页面元素2.2根据ID获取2.3根据标签名获取2.4通过HTML5新增的方法......
  • Java基础面试题(二)
    1、hashCode()相同,equals()也一定相同么不一定,同时反过来equals()为true,hashCode()也不一定相同。hashCode()返回该对象的哈希码值,equals()返回两个对象是否相等。关于......
  • 零基础如何高效学习平面设计?-优漫动游
         零基础如何学习平面设计?随着生活水平的提高,人们的生活质量越来越高,消费者也越来越理性,越来越注重产品或服务的质量和精神。在这过程中,设计师就成为了不可或......
  • ui设计学习三要素,零基础必看-优漫动游
       对于一些初学UI设计的同学来说,你可能不知道该从何下手,今天,本文就来给大家讲讲如今的UI设计领域中非常重要的三要素-3C要素,即UI设计中的色彩、对比度、内容三部分,想必......
  • Android基础入门教程
    一、Android介绍Android是一种基于Linux的自由及开放源代码的操作系统,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。Andr......
  • C#基础知识点回顾温习
    1.一个C#程序主要包括以下几个部分:命名空间声明;一个类(class);类方法;类属性;一个Main方法;语句和表达式;注释。1usingSystem;2namespaceFirstCode3{4......
  • Docker(二):镜像、容器 - 基础命令
    参考地址:https://blog.csdn.net/weixin_43526371/article/details/125811320镜像命令#基础信息$dockerinfo#镜像列表$dockerimages#image全部列表$dockerimage......
  • Docker(五):Dockerfile基础指令
    参考地址:https://blog.csdn.net/weixin_43526371/article/details/126332507  构建三部曲编写Dockerfile使用dockerbuild命令从Dockerfile构建图像dockerrun......