zoukankan      html  css  js  c++  java
  • 【2018.9.26】K-D Tree详解

    网上对K-D-Tree的讲解不尽清晰,我学了很久都不会写,这里新开一文做一些讲解。

    1.K-D-Tree是什么?

    K-DTree 即 K-Dimensional-Tree,常用来作空间划分及近邻搜索,是二叉空间划分树的一个特例。通常,对于$k(k>1)$维平面上的$n$个点,我们要把它们存进KDTree。

    2.KDTree怎么建?

    (1)按照维度划分

    一个平衡的 KDTree,其所有叶子节点到根节点的距离近似相等。但一个平衡的 KDTree 对最近邻搜索、空间搜索等应用场景并非是最优的。

    常规的 KDTree 的构建过程为:循环依序取数据点的各维度来作为切分维度,取数据点在该维度的中值作为切分超平面,将中值左侧的数据点挂在其左子树,将中值右侧的数据点挂在其右子树。递归处理其子树,直至所有数据点挂载完毕。

    (2)按照当前维度的中位数划分

  • 相关阅读:
    ListActivity优点
    博客随笔
    第三周作业附加题之课外书读后感
    第3周作业。
    第三周作业
    读《弟弟》,笔记
    使用git将文件上传到Coding
    第二周作业
    第一周作业
    第零次作业
  • 原文地址:https://www.cnblogs.com/scx2015noip-as-php/p/kdtree.html
Copyright © 2011-2022 走看看