scipy 科学空间知识树和科学空间知识树的区别

afdcj2ne  于 2022-11-10  发布在  其他
关注(0)|答案(4)|浏览(167)

这两种算法有什么区别?

5jdjgkvh

5jdjgkvh1#

cKDTree是KDTree的一个子集,用Cython Package 的C++实现,因此速度更快。
他们每个人都是
返回一个二叉trie,其每个节点表示一个轴对齐的超矩形。每个节点指定一个轴,并根据点在该轴上的坐标是大于还是小于特定值来拆分点集。
但是KDTree
也支持所有邻居查询,包括点数组和其他kd树。这些确实使用了相当有效的算法,但是kd树不一定是这类计算的最佳数据结构。

bzzcjhmw

bzzcjhmw2#

在一个用例中(在KDTree中查找大约100K个点的5D最近邻),cKDTree比KDTree快大约12倍。

6jjcrrmo

6jjcrrmo3#

目前,两者的API几乎相同,并且cKDTreeKDTree更快。因此,在不久的将来,SciPy开发人员计划删除KDTree,并且cKDTree将以向后兼容的方式重命名为KDTree
参考:详细的SciPy路线图- SciPy v1.6.0.dev参考指南https://docs.scipy.org/doc/scipy/reference/roadmap-detailed.html#spatial

qlckcl4x

qlckcl4x4#

2022年更新:不赞成使用cKDTree

当前的(v1.8)SciPy文档声明scipy.spatial.cKDTree现在已被弃用,并被功能相同的scipy.spatial.KDTree所取代。
Here是音符:
cKDTree在功能上与KDTree相同。在SciPy v1.6.0之前,cKDTree有更好的性能和稍微不同的功能,但现在这两个名称的存在只是为了向后兼容的原因。如果与SciPy〈1.6的兼容性不是一个问题,请首选KDTree。

相关问题