Re: unions
- To: mathgroup at yoda.physics.unc.edu
- Subject: Re: unions
- From: John Lee <lee at math.washington.edu>
- Date: Tue, 2 Jun 92 10:30:30 -0700
Zdravko Balorda <zdravc at robo.fer.yu> writes: Given n closed intervals find their Union. For instance: [0,2];[2,4];[1,5] The union of the above 3 intervals would be [0,5]. The union of the following: [0,2];[3,5] would be [0,2][3,5]. The algorithm goes like this: 1. Sort all the intervals 2. Find unions of all adjacent pairs 3. Repeat step 2 while the result is changing. Could anyone make any suggestions on real Mma code for that? Your algorithm seems as good as any. Here it is in Mathematica code: In[34]:= intervalunion [ listofintervals_ ] := Sort[listofintervals] //. {a___, {b_,c_}, {d_,e_}, f___} :> {a, {b,e}, f} /; c >= d; In[35]:= intervalunion[ { {3,5}, {1,4} } ] Out[35]= {{1, 5}} In[36]:= intervalunion[ { {1,4}, {3,5}, {-1,0}, {6,7}, {1,2}, {7,9} } ] Out[36]= {{-1, 0}, {1, 5}, {6, 9}} Jack Lee Dept. of Mathematics University of Washington Seattle, WA 98105