我有一个像这样的树结构:
struct TetrahedronStruct {
int index;
int region;
TriangleFaces Faces[4];
Vertex Vertices[4];
struct TetrahedronStruct *adjTetrahedrons[4];
};
typedef struct {
long double Nx, Ny, Nz;
long double d;
Vertex V[3];
} TriangleFaces;
typedef struct {
long double x, y, z;
} Vertex;
如何将树展平为线性内存阵列以复制到 CUDA 设备内存?
最佳答案
您创建一个 TetrahedronStruct 数组,root 是第一个元素,索引 0。
对于索引 i,子级位于 4 * i + j
,其中 j 在 [0..4] 范围内
关于c++ - 如何将 "linearize"变成树形结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21515734/