可视性图理论:识别与特征分析
1. 测试必要条件的O(n²)算法
在可视性图理论中,我们关注如何测试给定图G是否满足特定的必要条件。这里介绍一种由Ghosh提出的O(n²)时间复杂度的算法,用于测试前两个必要条件,其中n是图G的顶点数量。
假设图G的顶点标记为v₁, v₂, …, vₙ,并且哈密顿循环C = (v₁, v₂, …, vₙ)按逆时针顺序排列,图G存储在邻接矩阵中。
- 必要条件1的测试 :必要条件1可以通过检查图G中每个有序循环的弦数来测试。然而,由于有序循环的顶点数从4到n变化,可视性图的有序循环数量呈指数级增长,因此简单的测试方法是指数时间算法。为了优化,我们引入连续可见顶点的概念。如果(vi, vj)和(vi, vk)是图G中的可见对,并且对于每个vl ∈ chain(vj + 1, vk - 1),(vi, vl)是不可见对,则vj和vk称为vi在图G中的连续可见顶点。有如下引理:
- 引理6.2.3:如果给定图G满足必要条件1,则图G中每个顶点的任意两个连续可见顶点在图G中通过一条边连接。
- 引理6.2.4:如果给定图G满足每个顶点的任意两个连续可见顶点在图G中通过一条边连接的条件,但不满足必要条件1,则图G不满足必要条件2。
对于必要条件1的测试,只需要检查图G中每个顶点的任意两个连续可见顶点是否相邻。由于图G存储在邻接矩阵中,检查任何顶点的此条件所需的时间为O(n)。
- 必要条件2的测试 :对于图G中的每个不可见对(vi,
可视性图理论识别与分析
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



