本文介绍了图论中的基本概念,包括完全图、简单路径、连通性等,并详细解释了图的不同存储方式,如邻接矩阵、邻接表及邻接多重表的特点及其适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

完全图是具有最多边数的图,一个具有n个顶点的完全无向图,其边数为n(n-1)/2,而一个具有n个顶点的完全有向图,其边数为n(n-1).
一条简单路径是指路劲上除了起点和终点可能相同外,其余顶点都互不相同。
在无向图G中,如果从顶点v0到v1存在一条路径,则称顶点v0和v1是连通的,如果无向图G中的每对顶点vi和vj,都存在一条从vi到vj的路劲,则称无向图G是连通的。
在有向图G中,如果每对不同的顶点vi和vj,都存在从vi到vj以及从vj到vi的有向路径,则称有向图G是强连通的。
顶点的度是关联于该顶点的边的条数,对于有向图来说,顶点v的入度定义为以v为头的边的条数,而其出度定义以v为尾的边的条数,e条边的图G的顶点i的度为di,则G的边数为:
e=(0n1di)/2
假设有图G1结构表示如图:
这里写图片描述
图的常用储存表示方式:邻接矩阵,邻接表和邻接多重表。
邻接矩阵:假设G=(V,E)是一个包含n(n>=1)个顶点的图,图G的邻接矩阵是一个n*n的二维数组,比如是adj_mat,如果(vi,vj)(<vi,vj>若G是有向图)是图G中的一条边,即(vi,vj)(G)则adj_mat[i][j]=1.如果不存在这样的边,则adj_mat[i][j]=0,无向图的邻接矩阵是一定对称的,故只需存储其上三角或下三角,而有向图的邻接矩阵不一定是对称的.在计算图的边数或判断图是否连通,那就需要扫描图G的所有边,时间复杂度为O(n2).
图G1的邻接矩阵:
012301230111101111011110
图G1的邻接表:在邻接表存储表示中,用n个链表代替邻接矩阵中的n行,图G中的每个顶点对应一个链表,链表中的节点结构至少要包含一个顶点域和一个链域,在具有n个顶点的图G中,确定无向图G中边数的时间复杂度O(n+e).
图G1的邻接表:
这里写图片描述
邻接多重表:在多重表中,各链表中的结点可以被几个链表共享,此时,图中的每一条边值对应一个结点,而这个结点出现在该边所关联的两个顶点的每个邻接链表中。
图G1的邻接多重表:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值