MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Finding Clusters

  • To: mathgroup at
  • Subject: [mg104564] Re: [mg104515] Finding Clusters
  • From: Fred Simons <f.h.simons at>
  • Date: Wed, 4 Nov 2009 01:33:25 -0500 (EST)
  • References: <>

Here is a very short, very fast but not very simple solution:

components[lst_List] := Module[{f},
  Do[Set @@ f /@ pair, {pair, lst}];   GatherBy[Union @@ lst, f]]

Fred Simons
Eindhoven University of Technology
> All.
> I have a list which represents some natural event. These events are
> listed pair-wise, which corresponds to event happening within certain
> time interval from each other, as below
> event={{1,2},{1,3},{3,4},{5,6},{7,8},{8,10}}
> I wish to find a thread of events, i.e. if event A is related to B and
> B to C, I wish to group {A,B,C} together. For the example above I
> would have
> {{1,2,3,4},{5,6},{7,8,10}}
> This would correspond to do a Graph Plot and identifying the parts
> which are disconnected It should be simple but I'm really finding it
> troublesome.

  • Prev by Date: Re: Finding Clusters
  • Next by Date: Re: Cholesky Decomposition
  • Previous by thread: Finding Clusters
  • Next by thread: Re: Finding Clusters