Graph
::stronglyConnectedComponents
Находит строго связанные компоненты
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
Graph::stronglyConnectedComponents(G
)
Graph::stronglyConnectedComponents(G)
находит строго связанные компоненты G
Graph::stronglyConnectedComponents
возвращает все строго связанные компоненты графика. Одна вершины формируют компонент из себя.
Два очевидных компонента, указывающие на одну вершину:
G1 := Graph([a, b, c, d, e, f, g], [[a, b], [b, g], [g, a], [b, c], [d, c], [e, d], [d, f], [f, e]], Directed):
plot(Graph::plotGridGraph(G1, VertexOrder = [a, None, None, None, e, None, b, c, d, None, g, None, None, None, f], VerticesPerLine=5))
Вывод графических данных показывает два "больших" компонента [a, b, g]
и [d, e, f]
. Одна вершина [c]
формирует компонент из себя:
G2 := Graph::stronglyConnectedComponents(G1)
Список, содержащий три Графика, возвращен. Теперь мы узнаем, какие вершины принадлежат каждому компоненту:
Graph::getVertices(op(G2, 1))
Graph::getVertices(op(G2, 2))
Graph::getVertices(op(G2, 3))
Полный график возвращен как один компонент:
G3 := Graph::createCompleteGraph(5): plot(Graph::plotCircleGraph(G3))
G4 := Graph::stronglyConnectedComponents(G3): plot(Graph::plotCircleGraph(op(G4)))
Было необходимо использовать op (G4), потому что G4 является списком, содержащим график!
|
График |
Список графиков, содержащих строго связанные компоненты.