pgr_maxCardinalityMatch¶
pgr_maxCardinalityMatch
— 计算图中的最大基数匹配。.
可用性
版本 3.4.0
在内部查询上使用
cost
和reverse_cost
结果已排序
适用于无向图。
新签名
pgr_maxCardinalityMatch(text)
仅仅返回``边`` 列.
已弃用的签名
pgr_maxCardinalityMatch(text,boolean)
使用时
directed => false
。
版本3.0.0
官方 函数
版本2.5.0
从
pgr_maximumCardinalityMatching
重命名拟议 函数
版本2.3.0
新的 实验 函数
描述¶
主要特点是:
适用于 无向 图。
图中的匹配或独立边集是一组没有公共顶点的边。
最大匹配是包含尽可能多的边的匹配。
可能有很多最大匹配。
计算图中一种可能的最大基数匹配。
运行时间: \(O( E*V * \alpha(E,V))\)
\(\alpha(E,V)\) 与 Ackermann function 相反。
签名¶
(edge)
- 示例:
使用所有边。
SELECT * FROM pgr_maxCardinalityMatch(
'SELECT id, source, target, cost, reverse_cost FROM edges');
edge
------
1
5
6
13
14
16
17
18
(8 rows)
参数¶
参数 |
类型 |
描述 |
---|---|---|
|
Edges SQL 如下所述。 |
内部查询¶
Edges SQL¶
SQL 查询,应返回一组包含以下列的行:
列 |
类型 |
默认 |
描述 |
---|---|---|---|
|
ANY-INTEGER |
边的标识符。 |
|
|
ANY-INTEGER |
边的第一个端点顶点的标识符。 |
|
|
ANY-INTEGER |
边的第二个端点顶点的标识符。 |
|
|
ANY-NUMERICAL |
正值表示存在边( |
|
|
ANY-NUMERICAL |
-1 |
正值表示存在边( |
其中:
- ANY-INTEGER:
SMALLINT
,INTEGER
,BIGINT
- ANY-NUMERICAL:
SMALLINT
,INTEGER
,BIGINT
,REAL
,FLOAT
结果列¶
列 |
类型 |
描述 |
---|---|---|
|
|
原始查询中边的标识符。 |
另请参阅¶
索引和表格