<p>Yes, you're correct that when we make a node, <em>all points</em> in the near set must be used (i.e., they must be held in descendant nodes of the node).  <em>Some</em> points in the far set <em>may</em> be used, but they are not required to be used.</p>

<p>As far as I can tell, the overarching strategy you've used here is that the dataset itself is what holds the near and the far set (and the used set).  Given that I am creating some node, I have some offset which represents the size of the used set.  Then the first point in the near set is after that offset, and the far set comes after that.  So at any point in time the dataset is arranged like this:</p>

<pre><code>[ used set | near set | far set ]
</code></pre>

<p>Is that correct?  I just want to make sure that I understand correctly.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly or <a href="https://github.com/mlpack/mlpack/pull/624#issuecomment-211405285">view it on GitHub</a><img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFEiu3YCoWxBgRuu0RVFel5QAGlgwks5p45X3gaJpZM4IJBsx.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/mlpack/mlpack/pull/624#issuecomment-211405285"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>