zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【数据结构与算法】K 近邻算法—— KD 树 算法原理讲解和C语言实现代码

2023-09-14 09:07:22 时间

1. KD树原理讲解

KD树(k-dimensional tree)是一种用于高维空间搜索的数据结构,尤其用于给定查询点时搜索最近邻或其他范围搜索任务。与K近邻算法中的线性搜索相比,KD树可以显著加快许多空间搜索任务的速度。

K-D树是将K维空间中的点进行分割的数据结构,D是dimensional(维度)的缩写,K-D树是BSP(Binary Space Partitioning)的一种。

简单的说,K-D树就是K维空间的二分查找树,是二分查找树在K维空间的泛化。

还是有点抽象。举个例子:

我们都知道二分查找树(BST)这样基础的数据结构,它是基于二分查找的思想实现 O ( l o g 2 N ) O(log_2N)