File Exchange

image thumbnail

Find Network Components

version 1.2 (4.14 KB) by

Find network components, sizes, and lists of member nodes.

4.83333
6 Ratings

14 Downloads

Updated

View License

Given an undirected network represented by an adjacency matrix, we may wish to find that network's
- largest component
- number of components
- list of which nodes are in which component together.
This code computes these rapidly (linear in the number of nodes) and accurately. The code is commented so that if you wish to modify it, you may do so.

INPUT:
1. Network adjacency matrix.

OUTPUTS:
1. Number of network components
2. Sizes of network components (sorted, descending)
3. Membership list of each component (sorted by component size, descending).

Code includes a couple examples of usage at the top. I have tested this in R2014a, but it uses nothing fancy, and I believe it to be backward compatible for many years.

Comments and Ratings (10)

Hong Cai

congcong

Hi, I have been using this package for months now and it is very useful to implement. However, I am writing a paper but I cannot tell what kind of algorithms you are using? BFS or DFS or others? Also, how exactly can I cite this package? Thanks!

Nima Moshtagh

Marwa Mansri

good work

Alphab

Alphab (view profile)

Great work!

Hi, you might also want to take a look at Tim Davis' function find_components: http://www.mathworks.com/matlabcentral/fileexchange/21366-find-components
find_components uses the builtin function dmperm to find connected components.

Daniel Larremore

Iro, suggestion appreciated. The code removes diagonal elements already, but I have edited the example anyway.

Iro

Iro (view profile)

Hi, it seems to work for a given adjacency matrix, but you might want to edit the example of creating a random one because it is possible that it generates ones in the diagonal.

Li

Li (view profile)

TCH

TCH (view profile)

Updates

1.2

Fixed typos (clarity), removed possibility of self-edges in the example (clarity), changed instances of "cluster" to "component" in comments and variable names (clarity and correctness), and sorted outputs by component sizes (ease of use).

1.1

Fixed typo in description.

MATLAB Release
MATLAB 8.1 (R2013a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

networkComponents/