我必须设计一个支持数十亿数据插入的数据结构,这些数据总是按顺序递增,确保插入,删除和搜索操作的复杂性最小化。
假设数据定义为
typedef struct data
{
int a;
int b;
}data;
其中b总是在增加。
我已经使用下一个块指针在单个块中将DS实现为1000个数据的动态列表。 e.g
typedef struct block
{
int size; // curr element count.
int capacity; //1000 elements.
data* pArr; // malloc 1000 data elements.
struct block* pNext;
}block;
我的数据结构在搜索和插入方面表现良好,但在删除数据后,它不可重复使用,重建成本很高。
我正在寻找更好的DS实施。