可以在时间内对普通图形中的三角形进行计数,而我认为这样做要快得多是困难的(欢迎参考)。平面图呢?下面的简单过程表明可以在O (n log n)时间内完成此过程。我的问题有两个:
- 此过程有什么参考?
- 时间可以设为线性吗?
根据Lipton-Tarjan平面分离器定理的算法证明,我们可以在时间上以线性于图的大小的形式,将图的顶点划分为三组,从而不存在带有端点的边A和B中的另一个,S的大小由O (√且A,B的大小均以 2为上限顶点的数目。注意,图中的任一完全位于内部的任何三角形甲或全部内部乙或用途中的至少一个顶点小号与来自另两个顶点甲∪小号或两者从乙∪小号。因此,它足以计算三角形的在图表上的数小号和的邻居小号在甲(以及类似地为乙)。请注意,S及其A邻居诱发了一个k外平面图(该图是直径为4的平面图的子图。)。因此,可以通过动态编程或应用库尔塞勒定理直接计算这种图中三角形的数量(我确信Elberfeld等人已经在Logspace世界中找到了这种计数版本,并且我猜想它也存在)在线性时间世界中),因为形成无向三角形是性质,并且由于从嵌入的k外平面图很容易获得有界宽度树分解。
因此,我们将问题简化为一对问题,每对问题都减少了一个恒定的分数,但以线性时间程序为代价。
请注意,可以扩展该过程以查找时间内输入图内任何固定连接图的实例数。