算法:图的基本概念

图的分类

有向图

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

· 表示:边 (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. 是连通的,并且无环。
    · 关键特性
    · 极小性:在生成树中移除任意一条边都会导致图变得不连通。
    · 在生成树中添加任意一条边都会形成一个回路。
相关推荐
晓蛋1 天前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
一隅论数智1 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
倒头就睡的小比特1 天前
算法竞赛C++常用的STL
c++·算法
weilx12341 天前
C++笔记-文件IO-<fcntl.h>
c++
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
傲世仙尊1 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
牵猫散步的鱼儿1 天前
重载、重写(覆盖)、重定义区别
c语言
伞伞悦读1 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
猎头南楼1 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
phltxy1 天前
C 语言指针:从内存地址到灵活的数据访问
c语言