大数据快速查找(C/C++)
如果有10万个电话号码,用什么结构存储查找起来速度快?Hash?键树?
如果数量级是100万呢?
移动,联通这些电信运营商,他们如果对号码进行查找使用什么方法使得效率更高?
[解决办法]
在C++中用stl::set及其find函数即可,100万那是小case了。
你不妨去看看stl::set源代码,然后改写成c代码即可:)
[解决办法]
一、数据库
二、使用STL的Set
三、如果是全放在内存里,简单的方法
1. 排序好的数组,二分查找,100万数据只需要20次查找
2. 排序二叉树
四、全放在内存里,繁杂,但更有效的办法
1. B树
2. B-树
3. B+树