xsl-list
[Top] [All Lists]

## Re: [xsl] How the other half live

2008-11-18 10:17:29
```
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(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com> wrote:
```
```2008/11/18 Dimitre Novatchev <dnovatchev(_at_)gmail(_dot_)com>:
```
```On Mon, Nov 17, 2008 at 12:53 PM, Michael Kay <mike(_at_)saxonica(_dot_)com>
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/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

```
```
--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

```
 Current Thread [xsl] How the other half live, Dave Pawson Re: [xsl] How the other half live, Colin Adams RE: [xsl] How the other half live, Michael Kay Re: [xsl] How the other half live, Liam Quin Re: [xsl] How the other half live, Dave Pawson Re: [xsl] How the other half live, Dimitre Novatchev Re: [xsl] How the other half live, Andrew Welch Re: [xsl] How the other half live, Dimitre Novatchev <= RE: [xsl] How the other half live, Michael Kay Re: [xsl] How the other half live, Andrew Welch RE: [xsl] How the other half live, Michael Kay Re: [xsl] How the other half live, Dimitre Novatchev Re: [xsl] How the other half live, Michael Ludwig Re: [xsl] How the other half live, Dimitre Novatchev Re: [xsl] How the other half live, Florent Georges