关于Kd树啊,可能很多人没听说过。

Kd树是 K-dimension tree 的缩写,是对数据点在 K维空间(如二维(x,y),三维(x,y,z),K维(x,y,z, …))中划分的一种高维索引树形数据结构Kd树是一种空间划分树,说白了,就是把整个空间划分为特定的几个部分,然后在特定空间的部分内进行相关搜索操作。

Kd树从BST(Binary search tree)发展而来,在划分好的特定空间的部分内进行相关搜索操作。Kd树也是一种平衡二叉树

Kd树主要应用于多维空间关键数据的搜索,常用于大规模高维数据密集的查找比对的使用场景中,主要是最近邻查找(Nearest Neighbor)以及近似最近邻查找(Approximate Nearest Neighbor)。在计算机视觉(CV)中主要是图像检索和识别中的高维特征向量的查找和比对(本段文字参考自下面的这篇文章)

感兴趣的可以看这篇讲解

这里我们简单地实现一个

【数据结构与算法】二维Kd树的Java实现相关推荐

  1. POJ2155二维线段树

    题意:      给一个n*n的01矩阵,然后有两种操作(m次)C x1 y1 x2 y2是把这个小矩形内所有数字异或一遍,Q x y 是询问当前这个点的值是多少?n<=1000 m<=5 ...

  2. 数据结构与算法(C#实现)系列---树

    Heavenkiller(原创) 首先我们给树下一个定义: 树是一个有限的.非空的结点集, T={r} or T1 or T2 or-or Tn 它具有下列性质: 1.集合指定的结点r叫做树的根结点 ...

  3. BZOJ 1513 [POI2006]Tet-Tetris 3D 二维线段树

    题意: d*s的平面上,掉落n个方块. 每个方块会掉落在地上或者另一个方块上. 现给定每个方块的长宽高以及掉落位置. 求解最后能摞多高 (牛顿死的早) 解析: 显然h[i]=max(h[j])+w[i ...

  4. HDU2642(二维的树状数组)

    二维的树状数组,我记得是模版!^ _ ^ 题意很清楚:就是这部分的原理:sum(x1,y1)+sum(x2-1,y2-1)-sum(x1,y2-1)-sum(x2-1,y1);其实可以和概率论中的一个 ...

  5. 10.25T2 二维线段树

    Description 为了准备校庆庆典,学校招募了一些学生组成了一个方阵,准备在庆典上演出. 这个方阵是一个n*m的矩形,第i行第j列有一名学生,他有一个能力值Ai,j. 校长会定期检查一个p*q的 ...

  6. BZOJ2877 NOI2012魔幻棋盘(二维线段树)

    显然一个序列的gcd=gcd(其差分序列的gcd,序列中第一个数).于是一维情况直接线段树维护差分序列即可. 容易想到将该做法拓展到二维.于是考虑维护二维差分,查询时对差分矩阵求矩形的gcd,再对矩形 ...

  7. poj1195 Mobile phones 二维线段树入门

    二维线段树就是树套树,线段树套线段树... #include<iostream> #include<cstdio> #include<cstring> #inclu ...

  8. 从零开始学数据结构和算法(二)线性表的链式存储结构

    链表 链式存储结构 定义 线性表的链式存储结构的特点是用一组任意的存储单元的存储线性表的数据元素,这组存储单元是可以连续的,也可以是不连续的. 种类 结构图 单链表 应用:MessageQueue 插 ...

  9. POJ-2155 Matrix 二维线段树 | 树状数组

    题目链接:http://poj.org/problem?id=2155 比较典型的二维线段树题目,直接永久更新即可,在询问的时候,要询问每个x区间的子树,复杂度O(log(n)^2). 也可以用树状数 ...

最新文章

  1. 2、.net NVelocity中原生javascript ajax封装使用
  2. WPF中的动画——(五)路径动画
  3. memest函数用法说明(转自Lee.Kevin)
  4. HDU 3788 ZOJ问题
  5. faster-rcnn原理及相应概念解释
  6. 阿里云ECS上LVM磁盘配置
  7. Linux网络编程 | 信号 :信号函数、信号集、统一事件源 、网络编程相关信号
  8. neo4j图形界面_图形处理:betweeness中心性– neo4j的密码与graphstream
  9. 特征工程tf-idf_特征工程-保留和删除的内容
  10. Bug调试(lldb)
  11. python字符数组输出_python字符串格式化输出
  12. 21 年总结:文章的盘点和写作背景
  13. python获取的html转换为json,python读取XML格式文件并转为json格式
  14. mysql的%rowtype_Oracle %TYPE 和 %ROWTYPE 使用
  15. YII framework CComponent基础类解读(转)
  16. iOS语言中的代理模式
  17. java excel 2007兼容包_excel2007兼容包
  18. GlobalMapper20提取点位的高程信息
  19. 计算机毕业设计JAVA便利店系统mybatis+源码+调试部署+系统+数据库+lw
  20. 软件项目风险评估报告

热门文章

  1. maven POM总结
  2. 如果Python对于磁盘没有写入权限,还会运行吗?
  3. hdoj 1004 学习思路
  4. J2EE的13个规范之(二) JDBC 及其使用
  5. powershell加win的dns服务器,解决网站负载均衡问题
  6. VMware-workstation-full-8.0.0-471780.exe
  7. 指针运算不同于算数运算,不能简单加减
  8. javascript小技巧JavaScript[对象.属性]集锦
  9. Windows系统上3种连接Docker虚拟机的方法
  10. HBae找不到协处理器导致RegionServer全部挂掉