Thanks, makes sense.
> On 27.03.2015, at 12:09, Michael Kay mike@xxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
>>
>> I agree the above is O(n^2) with no duplicates. However I wonder how
distinct-values is implemented with Saxon that you say it is O(n log n). What
intrigues me is that the order does not change on Oxygen 16.1.
>>
>
> Saxon's implementation of distinct-values($input) is basically:
>
> HashSet set = new HashSet();
> for each x in $input
> if (!set.contains(x)) {
> set.add(x);
> result.add(x);
> }
> }
>
> except that the code is inverted to make it streamable.
|