我必须在内存中维护键值对的数据结构。我有以下限制:
DS将具有以下void del_kv(void *ds, char *key);
void add_kv(void *ds, char *key, char *value);void del_kv(void *ds, char *key);char *lookup(void *ds, char *key);void *iterate(void *ds, char *prefix_key);我的问题是什么是最适合上述约束的数据结构?
我考虑过哈希。添加/删除/查找可以在o(1)中完成,因为我有足够的内存,但它不是迭代的最佳选择。散列的散列(在k1上散列,然后在k2上散列,然后在k3上散列...)或者散列的数组,但是它违反了第二条,我还有其他选择吗?
https://stackoverflow.com/questions/50671680
复制相似问题