顶点的个数
Vnumber
邻居的数量
Anumber
struct Neighbor {
uint32_t id;
float dist;
bool flag; // whether this entry is a newly found one
Neighbor () {}
Neighbor (unsigned i, float d, bool f = true): id(i), dist(d), flag(f) {
}
};
- 存储的时候,kgraph先存储KNNGRAPH字符串,占8个字节;然后存储版本相关信息,占4个字节;后续存储sig_cap = format,来确定存储的索引文件是否要包含每个点的距离,占4个字节;后续存储图的大小graph.size(),占用4个字节。这些占用20个字节。
- 后续存储每个顶点邻居的个数M,以及对应的长度K,占用4+4个字节。
- 后续存储每个点的邻居的信息,也就是整个neighbor结构体,结构体占用12个字节。