[mlpack-git] [mlpack/mlpack] Hilbert R tree (#664)

lozhnikov notifications at github.com
Tue Jun 21 17:57:52 EDT 2016


> +  void Copy(TreeType* dst, TreeType* src);
> +  
> +  void NullifyData();
> +  
> +  /**
> +   * Update the largest Hilbert value and the local dataset.
> +   * The children of the node (or the points that the node contains) should be
> +   * arranged according to their Hilbert values.
> +   * @param node The node in which the information should be updated.
> +   */
> +  template<typename TreeType>
> +  void UpdateLargestValue(TreeType* node);
> +
> +  template<typename TreeType>
> +  void UpdateHilbertValues(TreeType* parent, size_t firstSibling,
> +                           size_t lastSibling);

You are right, `UpdateLargestValue` is used in order to update the largest Hilbert value of all parent nodes after a point is added to a leaf node. I think my approach requires less memory and copying of a pointer takes less time, isn't it?.

Since the split methods redistributes all points contained in leaf nodes completely, I need a function in order to redistribute the Hilbert values of the points. I wrote `UpdateHilbertValues` in order to do that. Maybe I should call that function `RedistributeHilbertValues`, how do you think?

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/mlpack/mlpack/pull/664/files/f9127cea62d5ce1ad8d5f59931de108a2f7cdd9b#r67959939
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/mlpack-git/attachments/20160621/c069daac/attachment-0001.html>


More information about the mlpack-git mailing list