首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >这是一个区间图吗?

这是一个区间图吗?
EN

Code Golf用户
提问于 2021-08-12 00:06:30
回答 1查看 522关注 0票数 13

背景

区间图(维基百科MathWorldGraphClasses)是从直线上的一组区间导出的无向图。每个顶点表示一个区间,如果对应的间隔重叠,则两个顶点之间存在一条边。下面是一个具有相应间隔的区间图示例。

多个线性时间算法可以确定给定的图是否为区间图。这些图的许多其他图论问题在线性时间内也是可解的.有关详细信息,请参阅维基百科和GraphClasses链接。

请注意,在这个挑战中,您不需要满足线性时间复杂度。

挑战

给定一个无向、连通、无循环、非空的图作为输入,确定它是否是一个区间图.(“无循环”意味着图不包含从顶点到自身的任何边。)

图可以使用无向图的任何标准化结构作为输入,其中包括

  • 邻接矩阵/邻接表/关联矩阵,以及
  • 边缘列表( (vi, vj)对的列表)。

如果使用邻接列表或边列表,则可以假定顶点是连续编号的(0或1)。对于所有输入方法,您可以选择将顶点数作为第二个输入。

对于输出,可以选择

  • 使用您的语言约定输出真实/错误(允许交换),或
  • 使用两个不同的固定值分别表示真(肯定)或假(负)。

适用标准的密码-高尔夫规则。以字节为单位的最短代码获胜。

测试用例

测试用例给出了基于1的顶点编号的边列表.

Truthy

代码语言:javascript
运行
复制
[(1,2)]
[(1,2), (1,3), (2,3)]
[(1,2), (1,3)]
[(1,2), (1,3), (2,3), (3,4), (4,5), (4,6), (5,6)]
[(1,2), (1,3), (2,3), (2,4), (3,4)]
[(1,2), (1,3), (1,4), (1,5), (1,6), (2,3), (3,4), (4,5), (5,6)]

Falsy

代码语言:javascript
运行
复制
// contains a 4-cycle without chord
[(1,2), (1,3), (2,4), (3,4)]
[(1,2), (1,3), (2,3), (2,4), (3,5), (4,5)]

// contains an asteroidal triple (1, 4, 6)
[(1,2), (1,3), (2,3), (2,4), (2,5), (3,5), (3,6), (4,5), (5,6)]
EN

回答 1

Code Golf用户

发布于 2021-08-12 06:19:29

圣人,17字节

代码语言:javascript
运行
复制
Graph.is_interval

在Sage细胞上试一试文档

票数 5
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/233338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档