kd-tree与单元格列表

时间:2015-03-06 15:36:57

标签: algorithm simulation computational-geometry

在分子模拟中,人们经常使用邻居列表算法(单元列表/ Verlet表)来计算每个粒子的邻居粒子。

然后,运行模拟,每个粒子在运行时都知道他的邻居。 构建此类邻居列表的计算工作量与粒子数(O(N))呈线性关系。

另一方面,kd-tree通常用于在许多应用程序中定位最近的邻居。构建这样的树也与粒子的数量成线性关系。

那么,最好的是什么?如果尺寸适中2 / 3D且范围为 搜索不会改变?

1 个答案:

答案 0 :(得分:0)

从wiki的k-d treecell list快速查看应用程序,搜索,添加/删除和计算交互的复杂性因使用的每种数据结构和算法而异,因此取决于是否粒子的数量可以动态变化或保持不变,效率会有所不同。

Furthernore k-d树可用于其他应用程序或提供其他功能

  

.. k-d树是几个应用程序的有用数据结构,例如   作为涉及多维搜索关键字的搜索(例如范围   搜索和最近邻居搜索)。 k-d树是一种特殊情况   二进制空间分区树。