心得经验总结:无向图:计算亏格(环的孔洞)

简介: 心得经验总结:无向图:计算亏格(环的孔洞)

前一篇文章:无向图:计算亏格(环的孔洞)

首先,判断图中是否存在环。方法,找到联通子图,循环删除度为1的节点,同时删除边。直到不存在度为1的边,则联通子图只剩下环或者复杂环。

//代码效果参考:http://www.zidongmutanji.com/zsjx/426541.html

在不需要遍历出环的算法里面,可以通过欧拉公//代码效果参考: http://www.zidongmutanji.com/bxxx/203054.html

式直接计算亏格。孔洞的个数。

公式: //代码效果参考:http://www.zidongmutanji.com/bxxx/181028.html

nGenus = l-p+1; l为边的个数,p为点的个数。

过程:对于所有联通的集合,循环删除度数为1的顶点,同时删除边;计算亏格。

然而,上述过程出现了问题。主要是平面图中若严格按照直线边进行拓扑,出现了复杂图,即立体图。

如图:

改进方法:

使用多边形并差计算,以此寻找孔洞,以此来应对复杂图的特殊情况。

代码段:

import seisw.util.geom.Clip;

import seisw.util.geom.Poly;

import seisw.util.geom.PolyDefault;

相关文章
|
17天前
|
C语言
数据结构基础详解(C语言):图的基本概念_无向图_有向图_子图_生成树_生成森林_完全图
本文介绍了图的基本概念,包括图的定义、无向图与有向图、简单图与多重图等,并解释了顶点度、路径、连通性等相关术语。此外还讨论了子图、生成树、带权图及几种特殊形态的图,如完全图和树等。通过这些概念,读者可以更好地理解图论的基础知识。
|
4月前
|
机器学习/深度学习 算法 测试技术
【单源最短路 图论】882. 细分图中的可到达节点
【单源最短路 图论】882. 细分图中的可到达节点
|
4月前
|
算法 测试技术 C#
【树 图论 阶乘 组合 深度优先搜索】1916. 统计为蚁群构筑房间的不同顺序
【树 图论 阶乘 组合 深度优先搜索】1916. 统计为蚁群构筑房间的不同顺序
|
4月前
|
人工智能 算法 BI
【树】【因子数】【数论】【深度优先搜索】2440. 创建价值相同的连通块
【树】【因子数】【数论】【深度优先搜索】2440. 创建价值相同的连通块
|
算法
广度优先遍历(BFS):逐层探索图的算法奥秘
在图论中,广度优先遍历(Breadth-First Search,BFS)是一种图遍历算法,它以一种逐层的方式探索图的节点。通过从起始节点开始,逐层向外扩展,BFS能够帮助我们解决许多与图相关的问题。
115 0
|
存储 索引
树与图中的dfs和bfs—— AcWing 846. 树的重心 AcWing 847. 图中点的层次
树与图中的dfs和bfs—— AcWing 846. 树的重心 AcWing 847. 图中点的层次
71 0
|
算法 C++ Python
【每日算法Day 85】图解算法:一行代码解决约瑟夫环的变体
【每日算法Day 85】图解算法:一行代码解决约瑟夫环的变体
103 0
|
算法
|
算法 C++
算法基础系列第三章——图论之最短路径问题(2)
算法基础系列第三章——图论之最短路径问题(2)
187 0
算法基础系列第三章——图论之最短路径问题(2)
|
算法
【每日一题Day38】LC882细分图中的可到达节点 | 图论
给你一个无向图(原始图),图中有 n 个节点,编号从 0 到 n - 1 。你决定将图中的每条边 细分 为一条节点链,每条边之间的新节点数各不相同。
95 0