xsl-list
[Top] [All Lists]

RE: XSLT 2.0 function - fastest node comparison

2005-03-10 07:39:06

Assuming the ranges don't overlap, you could transform the list of ranges into 
a sorted binary tree:

<range from="988" to="8197">
  <range to="1036">
    <range to="1009">
      <range from="988" to="989"/>
      <range from="1008" to="1009"/>
    </range>
    <range from="1014">
      <range from="1014" to="1014"/>
      <range from="1025" to="1036"/>
    </range>
  </range>
  <range from="1038">
    <range to="1116">
      <range from="1038" to="1103"/>
      <range from="1105" to="1116"/>
    </range>
    <range from="1118">
      <range to="4150">
        <range from="1118" to="1119"/>
        <range from="4150" to="4150"/>
      </range>
      <range from="8194" to="8197"/>
    </range>
  </range>
</range>

which gives O(log N) range tests rather than O(N) range tests. Then you have to 
find out whether a recursive function to navigate the tree is slower by a 
sufficient factor to kill any advantage in the number of tests being lower for 
large N.


Pete

********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************

--~------------------------------------------------------------------
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>
--~--