c++中的类数据库搜索算法
Database-like search algorithm in C++
我有一个对象集合。每个对象由~4个参数描述(假设两个整数和两个字符串)。我如何在c++中实现这个集合,以便能够通过指定搜索条件快速找到这些对象的子集,例如:"查找所有第一个参数等于1的对象",或者"查找所有第二个参数等于'foo'的对象"(查找总是使用单参数查询:parameter=value
)。我是否应该有4个std::maps
,以便在O(logn)
中执行每个基于参数的查找?如果我再加一个又一个参数呢?
这个问题有什么现有的解决方案吗?
你应该试试Boost Multi Index,这就是为这类事情准备的
一个数组用于数据,四个哈希表(std::tr1::unordered_map
)用于索引。
相关文章:
- std::unordered_map 搜索算法是如何实现的?
- C++线性搜索算法,确定数组中元素的数量
- 对于具有引用返回类型的搜索算法,默认返回值应该是什么?
- 使用迭代深度优先搜索算法的未加权图的最短路径
- 尝试实现二叉搜索算法,似乎无法使其工作
- 图上的深度优先搜索算法中的内存泄漏
- 使用图形的字符串搜索算法?C++
- 使用 while 循环和搜索算法进行复制
- C++ 循环和搜索算法,重复
- 比较数据库搜索方法
- 了解一种神秘地起作用的递归二进制搜索算法
- 双二叉搜索算法
- 修改广度优先搜索算法以记住矩阵中的最短路径
- C 搜索算法第一个数字= n
- 如何在较高和较低数字的阵列中适应搜索算法(3N / 2)-2
- 需要矩阵搜索算法
- C++搜索算法-处理海量数据
- 从给定的 IPv6:端口列表中搜索 IPv6:端口组合的最快搜索算法是什么 O(1) 时间一致性
- 在两个方向上寻找搜索算法 - c / c ++ / awk
- c++中的类数据库搜索算法