c++ - R^3(x,y,z)中快速随机访问和顺序访问的数据结构

标签 c++ data-structures tree

我想找到一种内存高效的数据结构,用于搜索 R^3 坐标的巨大网络(可能有 100,000-500,000 个坐标)。我查看了看起来不错的 k-d 树,是否有用于快速随机和顺序访问的良好数据结构?编程语言将是 C++ 或 C。我研究了 k-d - tree 和 R^*-tree 是否有一些更有效的数据结构?

id x y z

1 0.1 0.05 0.3

2 0.3 0.22 2.3

3 0.1 0.2 3.3

等等

最佳答案

假设您需要在任意直角棱柱内进行搜索,您应该考虑八叉树。 Wiki 上有一篇文章,https://en.wikipedia.org/wiki/Octree

关于c++ - R^3(x,y,z)中快速随机访问和顺序访问的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35451846/

相关文章:

c++ - 对 STL 字符串使用 fread/fwrite。这是正确的吗?

c++ - 使用 BER 编码和解码 ASN.1 REAL

c++ - 使用递归的二叉树平衡检查?

haskell - 构建具有给定节点数的树

c++ - 对象按位运算转换为 int

c++ - 遵循代码流程

c++ - 为什么 C++ 编译器允许在编译时在堆栈上创建未知大小的数组?

java - 反模问题 where gcd(denominator,mod)!=1

algorithm - Union-Find:有效地检索集合的所有成员

symfony - 创建树嵌套选择选项