Изменения

Перейти к: навигация, поиск
Нет описания правки
Симметрично<tex>(G = \{ z_0, ..., z_{t - 1} \} \cup (J \setminus \{ y_1, ..., y_t \}))</tex>, <tex>J' \in I_2</tex> и, следовательно, <tex>J' \in (I_1 \cap I_2)</tex>.
}}
Таким образом, получаем следующий алгоритм:*'''=== Псевдокод'''===
<tex>J</tex> = <tex>\emptyset</tex>
isMaximal = '''false''' '''while (''' '''not ''' isMaximal) { < построить [[Граф замен для двух матроидов|граф замен]] <tex>D_{M_1, M_2}(J)</tex>> <tex>X_1</tex> = <tex>\leftarrow \{ z \in S \setminus J | J + z \in I_1 \}</tex> <tex>X_2</tex> = <tex>\leftarrow \{ z \in S \setminus J | J + z \in I_2 \}</tex> <tex>P</tex> = <tex>\leftarrow</tex> кратчайший путь из <tex>X_1</tex> в <tex>X_2</tex> '''if ''' <tex>(P \ne \emptyset)</tex> { <tex>J</tex> = <tex>J \bigtriangleup V(P)</tex> } '''else {''' isMaximal = '''true } }'''
== Источник ==
[[Категория:Алгоритмы и структуры данных]]
[[Категория:Матроиды]]
[[Категория:Пересечение матроидов]]
170
правок

Навигация