Subject: Re: [xsl] How the other half live From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx> Date: Tue, 18 Nov 2008 07:17:03 -0800 |
> for $d in distinct-values($seq) return $d[count($seq[. eq $d]) ge $i] > > equivalent? I think it is, and probably a lot more efficient, > although it is longer. What I have prepared as an optimization is: distinct-values($vSeq)[exists(index-of($vSeq,.)[2])] it is still O(N^2) in the general case but is many times faster for long sequences with only a small number of different items, such as a long bit sequence. -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play On Tue, Nov 18, 2008 at 6:55 AM, Andrew Welch <andrew.j.welch@xxxxxxxxx> wrote: > 2008/11/18 Dimitre Novatchev <dnovatchev@xxxxxxxxx>: >> On Mon, Nov 17, 2008 at 12:53 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote: >> >>> I quite like the fact that this generalizes. >>> >>> $vSeq[index-of($vSeq,.)[$i]] >>> >> >> Yes, I intentionally omitted this in order not to overload the >> readers, nevertheless anyone who tries the five problems will >> naturally notice this generalization. > > Is: > > for $d in distinct-values($seq) return $d[count($seq[. eq $d]) ge $i] > > equivalent? I think it is, and probably a lot more efficient, > although it is longer. > > I can't see how to avoid the for expression... > > > -- > Andrew Welch > http://andrewjwelch.com > Kernow: http://kernowforsaxon.sf.net/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How the other half live, Andrew Welch | Thread | RE: [xsl] How the other half live, Michael Kay |
Re: [xsl] How the other half live, Florent Georges | Date | RE: [xsl] How the other half live, Michael Kay |
Month |