【发布时间】:2013-04-21 16:40:20
【问题描述】:
我有这个代码
#define MAX_DIM 3
struct kd_node_t
{
double x[MAX_DIM];
struct kd_node_t *left, *right;
};
struct kd_node_t wp[] = {
{{2, 3}}, {{5, 4}}, {{9, 6}}, {{4, 7}}, {{8, 1}}, {{7, 2}}
};
我不明白这种情况下的结构声明。请帮帮我
【问题讨论】:
-
一个
double大小为MAX_DIM(3) 的数组和两个自引用指针(可能是kd-tree 实现)?假设这是一个树实现,很可能是一个指向左右节点的指针(它们应该与这个结构具有相同的类型,因为它们都是节点)。 -
是的,我看到了一个 kd 树代码,但很难理解它
-
我不明白为什么你有一个数组 x[3]。我以为 kd-tree 是
struct kd_node_t{ int axis; double value; struct kd_node_t *left, *right}; -
我看到来自rosettacode.org/wiki/K-d_tree 的代码。