关于常见图类型
图论中有许多经典的图结构,每种图都有独特的性质和应用场景。 NetworkX提供了丰富的函数来创建和操作这些图。 通过可视化这些常见图,我们可以更好地理解它们的结构特征和数学性质。
本章将介绍几种常见的图类型:完全图(所有节点两两相连)、二分图(节点分为两个子集)、正则图(所有节点度数相同)、树(无环连通图)、柏拉图图(基于正多面体的图)。 这些图在计算机科学、网络分析、组合优化等领域都有重要应用。
常见图类型
NetworkX中的图类型展示
NetworkX提供了多种函数来创建常见的图结构。 本节展示9种常见图类型,包括哑铃图、轮图、星图、完全图、二分图、循环图、路径图、棒棒糖图和梯子图。 每种图都有独特的结构和应用场景。
🎯 特殊结构
📊 基础图类型
💻 NetworkX创建
完全图
每一对节点都有边相连
完全图(complete graph)是指每一对不同的节点都有一条边相连,形成了一个全连接的图。 如果一个完全图有n个节点,每个节点对应(n-1)条边,那么这个完全图将有n(n-1)/2条边。 完全图记作Kn,是一个(n-1)-正则图。补图(graph complement)的概念:两幅图有相同节点,没有相同边, 但把两幅图的边结合起来是一幅完全图。
🔷 完全图的性质
📐 补图关系
二分图
节点分为两个互不相交的子集
二分图(bipartite graph),也叫二部图,是指可以将图的所有节点划分为两个互不相交的子集U和V, 使得图中的每条边都连接一对不同子集中的节点。 换句话说,U中任意两个节点之间不相连,V中任意两个节点之间也不相连。完全二分图(complete bipartite graph)在二分图基础上更进一步, U中任意节点与V中任意节点均有且仅有唯一一条边相连。
🔲 二分图特征
💻 判断与操作
🎯 应用场景
🔗 多分图扩展
二分图可以推广到多分图(multi-partite graph): 节点被划分为k个子集,每条边连接不同子集中的节点。完全多分图则要求不同子集间的节点都有边相连。
创建一个完全三分图,三个子集分别有3、4、5个节点
正则图
每个节点的度都相同
正则图(regular graph)是指图中每个节点的度都相同的图。 如果一个图是正则的,那么它被称为正则图,并且其度被称为图的正则度。 特别地,如果所有节点的度都是k,那么这个图被称为k-正则图(k-regular graph)。 正则图具有高度的对称性,在网络设计、编码理论、化学分子结构等领域有重要应用。
⚙️ 正则图的性质
📊 构造条件
关键定理:k-正则图存在的充要条件
原因:所有节点度数之和 = 2×边数,必须是偶数
树
无环连通图
树(tree)是一种特殊的无环连通图。一个无向图是树,当且仅当图中的每两个节点之间存在唯一的路径, 并且图是连通的。树有许多重要性质:n个节点的树有n-1条边; 删除任意一条边,树变为不连通;增加任意一条边,树中出现环。 树在计算机科学和图论中有广泛应用,例如数据结构中的搜索树、算法中的树的遍历等。
🌳 树的性质
💻 NetworkX函数
🎯 应用领域
地球物种分类树是一种用来组织和分类地球上生物多样性的树形结构。 这个树形结构基于物种的共同特征,将生物按照层次分类, 从大类别(域,domain)到小类别(物种,species)。 这种分类系统有助于科学家理解生物之间的亲缘关系,以及它们是如何进化和演化的。
柏拉图图
基于五个正多面体的图
柏拉图图(Platonic graph)是基于柏拉图立体骨架的图。 柏拉图立体(Platonic solid),也叫正多面体,其每个面全等,均为正多边形。 五个柏拉图立体分别是:正四面体(tetrahedron)、正六面体(cube)、正八面体(octahedron)、正十二面体(dodecahedron)和正二十面体(icosahedron)。 所有柏拉图图都是平面图,可以在平面上绘制而边不交叉。
🔷 五个柏拉图图
💻 NetworkX创建
📐 平面图
✨ 柏拉图立体的特性
柏拉图立体是古希腊哲学家柏拉图研究的五种正多面体。 每个正多面体的面都是全等的正多边形,并且每个顶点处相邻的面数相同。 这五种立体在几何学、晶体学、化学分子结构等领域都有重要应用。
本章小结
本章介绍了几种常见的图类型以及它们的性质,并探讨了如何用NetworkX完成这些图的可视化。 每种图都有独特的结构特征和应用场景,理解这些图的性质对于图论的学习和实际应用都至关重要。