图论——基础

本期梗概

本期我们将学习图论的基础


一、图的基本概念

(1)无向图:每条边都是无方向的;

(2)有向图:每条边都是有方向的;

(3)完全图 :任意两个顶点上都存在一个边;

a、n个顶点的完全无向图有条边。

b、n个顶点的完全有向图有条边。

c、无向图G中顶点数为n,则图G至少有条边,至多有条边;若G为有向图,则至少有条边,至多有条边。

(4)子图:从图中取出的部分集合;

(5)带权图:边上带权的图;(权:具有某种含义的数值,如表示两点间的距离)

(6)连通图 :无向图任意两点都存在路径可达;

(7)强连通图:有向图中,若任意两个顶点都存在路径可达;

(8)顶点的度:与顶点有关的边的数目;

有向图又分为出度和入度;

顶点V的出度=以V为起点有向边数;

顶点V的入度=以V为终点有向边数

顶点V的度=V的出度+V的入度;

图的度=图中所有顶点度的和;

问题:一个图的顶点数为n,边数为e,则该图的度=

(9)路径与回路:

路径:顶点A到顶点B的经过的所有边;

简单路径:在一条路径中除起点和终点外,若其余顶点各个不相同;

回路:起点和终点相同的路径;

简单回路:由简单路径组成的回路称为简单回路;

(10)连同分量:在无向图中,如果从顶点vi到vj连通。如果图中任意两个顶点之间都连通,则称该图为连通图,否则,将其中较大的连通子图称为连同分量。

在有向图中,如果对于每一对顶点vi和vj,从vi到vj和从vj到vi都有路径,则称该图为强连通图;否则,将其中的极大连通子图称为强连通分量。

二、图的储存

1、邻接矩阵(数组)表示法

邻接数组表示法是以一个n*n的数组来表示一个具有n个顶点的图形。我们以数组的索引(下标)值来表示顶点,以数组的内容之来表示边是否存在。

相关推荐
AA陈超10 分钟前
虚幻引擎5 GAS开发俯视角RPG游戏 P06-09 玩家等级与战斗接口
c++·游戏·ue5·游戏引擎·虚幻
violet-lz20 分钟前
数据结构四大简单排序算法详解:直接插入排序、选择排序、基数排序和冒泡排序
数据结构·算法·排序算法
·白小白25 分钟前
力扣(LeetCode) ——118.杨辉三角(C++)
c++·算法·leetcode
tongsound29 分钟前
libmodbus 使用示例
linux·c++
sulikey1 小时前
C++的STL:深入理解 C++ 的 std::initializer_list
开发语言·c++·stl·list·initializerlist·c++标准库
CoovallyAIHub1 小时前
超越“识别”:下一代机器视觉如何破解具身智能落地难题?
深度学习·算法·计算机视觉
代大大1 小时前
sciter.js 之cpp使用教程(1)
c++·前端框架
仰泳的熊猫1 小时前
LeetCode:207. 课程表
数据结构·c++·算法·leetcode
liu****1 小时前
19.map和set的封装
开发语言·数据结构·c++·算法
孤廖1 小时前
C++ 模板再升级:非类型参数、特化技巧(含全特化与偏特化)、分离编译破解
linux·服务器·开发语言·c++·人工智能·后端·深度学习