interval_graph#

interval_graph(intervals)[source]#

生成给定区间列表的区间图。

在图论中,区间图是由实数轴上的一组闭区间形成的无向图,每个区间对应一个顶点,如果两个顶点的区间相交,则它们之间有一条边。它是这些区间的交集图。

更多信息可以参考: https://en.wikipedia.org/wiki/Interval_graph

Parameters:
intervals一个区间序列,例如 (l, r),其中 l 是闭区间的左端点,r 是右端点。
Returns:
Gnetworkx 图
Raises:
TypeError

如果 intervals 包含 None 或元素不是 collections.abc.Sequence 类型,或者长度不是 2。

ValueError

如果 intervals 包含一个区间,使得 min1 > max1,其中 min1, max1 = interval

Examples

>>> intervals = [(-2, 3), [1, 4], (2, 3), (4, 6)]
>>> G = nx.interval_graph(intervals)
>>> sorted(G.edges)
[((-2, 3), (1, 4)), ((-2, 3), (2, 3)), ((1, 4), (2, 3)), ((1, 4), (4, 6))]