conncomp
Componentes conexos de um grafo ou dígrafo.
Categoria: Mathematics > Graph and Network Algorithms
Sintaxe
bins = conncomp(G)
Rotula cada nó com o número do seu componente.
[bins, binsizes] = conncomp(G)
Também retorna o número de nós em cada componente.
bins = conncomp(G, 'Type', 'strong')
Para um dígrafo, usa conectividade forte em vez de fraca.
Descrição
Em um grafo não direcionado, um componente é um conjunto maximal de nós que se alcançam mutuamente. Nós isolados formam componentes de tamanho um. Para achar o maior componente, use [~, k] = max(binsizes) e selecione os nós em que bins == k.
Em um dígrafo, a versão fraca só pergunta se o grafo não direcionado subjacente é conexo, enquanto a forte exige caminhos dirigidos nos dois sentidos.
Argumentos de entrada
G- Um
graphoudigraph. 'Type''weak'(padrão) ignora as direções das arestas;'strong'exige caminho dirigido nos dois sentidos.
Argumentos de saída
bins- Vetor linha com um rótulo de componente por nó.
binsizes- Número de nós em cada componente, indexado pelo rótulo.
Exemplo
Três pedaços
G = graph([1 2 4 5 7], [2 3 5 6 8]);
[bins, sizes] = conncomp(G)
[sbins, ssizes] = conncomp(digraph([1 2 3 4], [2 3 1 3]), 'Type', 'strong')
Saída
bins = 1×8
1 1 1 2 2 2 3 3
sizes = 1×3
3 3 2
sbins = 1×4
2 2 2 1
ssizes = 1×2
1 3