Re: [xsl] How the other half live

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