| Subject: Re: [xsl] Duplicates in a sequence ? From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 25 Mar 2015 19:05:16 -0000 | 
On 25 Mar 2015, at 17:02, Dimitre Novatchev dnovatchev@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > And if you just need the boolean (true()/false()) indicating whether > a sequence has duplicate values -- not needing the values themselves > -- then use the following, slightly adjusted and more efficient > expression: > > exists($vSeq[index-of($vSeq,.)[2]][1] ) > I think that if there are no duplicates, this is O(n^2), whereas the distinct-values solution is O(n log n). Harder to judge how they compare if duplicates are more probable: I think this is O(m*n) where n is the size of the sequence and m is the expected number of items between two duplicates, i.e. m=1/p where p is the probability of an item being a duplicate. Michael Kay Saxonica
| Current Thread | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| Re: [xsl] Increasing sequence ?, Leo Studer leo.stude | Thread | Re: [xsl] Duplicates in a sequence , Dimitre Novatchev dn | 
| Re: [xsl] Increasing sequence ?, Wolfgang Laun wolfga | Date | Re: [xsl] Increasing sequence ?, Michael Kay mike@xxx | 
| Month |