算法:图的基本概念

图的分类

有向图

· 定义 :图中的边有方向性,用箭头表示。

· 表示:边 (A, B) 与 (B, A) 是两条不同的边。

无向图

· 定义 :图中的边没有方向。

· 表示 :边 (A, B) 与 (B, A) 是同一条边。

· 转换:可以将无向图中的一条边看作两条方向相反的有向边。

图的特殊结构

自环

· 定义:一条边从某个顶点出发,并指向其自身。

重边

· 定义:两个顶点之间存在两条或两条以上完全相同的边(在有向图中要求方向也相同)。

稠密图 vs 稀疏图

· 稀疏图 :边数远少于顶点数的平方(|E| << |V|²),即"少边多点"。

· 稠密图 :边数接近顶点数的平方(|E| ≈ |V|²),即"多边少点"。

· 这是一个相对概念,没有绝对的界限。

顶点与路径

顶点的度

· 无向图:与该顶点相关联的边的总数。

· 有向图:

· 入度 :指向该顶点的边的数目。

· 出度:从该顶点指出的边的数目。

路径

· 定义 :一个顶点序列,其中每相邻两个顶点之间都存在一条边。

· 回路/环:路径的起点和终点是同一个顶点。

路径长度

· 无权图 :路径上经过的边的数量。

· 带权图:路径上所有边的权值之和。

连通性

连通图与连通分量

· 连通图 :在无向图中,如果任意两个顶点之间都存在路径,则该图称为连通图。

· 非连通图 :不是连通图的无向图。

· 重要性质 :一个有 n 个顶点的图,如果边数小于 n-1,则它一定是非连通图。

· 连通分量 :无向图中的极大连通子图。

· "极大"意味着 :再也找不到另一个包含该子图且比它更大的连通子图。

· 一个图可以有多个连通分量。

连通分量数的计算

· 对于一个有 n 个顶点、m 条边且无环的森林结构,其连通分量数可以通过以下公式计算:

连通分量数 = n - m

生成树

· 定义 :一个连通图的生成树是包含其全部顶点的极小连通子图。

· 性质

  1. 包含原图所有 n 个顶点。
  2. 只有 n-1 条边。
  3. 是连通的,并且无环。
    · 关键特性
    · 极小性:在生成树中移除任意一条边都会导致图变得不连通。
    · 在生成树中添加任意一条边都会形成一个回路。
相关推荐
程与留4 小时前
15_国际化和本地化:tr()、ts 文件、QM 文件、多语言切换
c++·qt
地平线开发者5 小时前
【模型轻量化专题】衡量模型轻量性的指标
算法
程与留6 小时前
14_Qt 样式表(QSS)入门(语法、选择器、美化实战)
c++·qt
学习星球8 小时前
OFDM技术精讲:正交性推导、循环前缀原理与80行Python链路仿真(附实测数据)
算法·面试·前端框架
欧特克_Glodon14 小时前
OpenCV计算机视觉开发入门与实践<二十七>:图像分割概述
c++·人工智能·opencv·计算机视觉
蒸蒸yyyyzwd14 小时前
cpp 选手秋招学习笔记 day21
c++·面试·八股
alphaTao14 小时前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode
Interview Aid11215 小时前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展
CoderIsArt1 天前
C#中UI 线程与 Dispatcher
开发语言·ui·c#
顶点多余1 天前
那些在算法中适合巩固的知识点---1
java·前端·算法