快速搜索范围内的值

基拉兹

让我们假设我们有geoip的数据库:IPrangeStartIPrangeEndcountry

#for, example
1.1.1.1:2.2.2.2:US
3.3.3.3:4.4.4.4:DE

等等。

该数据库有很多字符串,但是所有这些数据都可以完全适合内存(大约200-500Mb)。现在我们需要通过ip查找国家/地区。哪种数据结构最适合这样做(当然,我们会将所有IP都转移到int)?

吉姆·米歇尔(Jim Mischel)

按范围起始值排序的数组将使您可以通过简单的二进制搜索找到合适的范围。我不知道您使用的地址范围是多少,但是即使您有100万个范围,二进制搜索最多也需要20个探针。您可以轻松地每秒进行成千上万次查找。

另一个选择是段树,尽管在这种情况下我认为它没有特别的帮助,因为您没有重叠的间隔。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从数组范围内搜索值

来自分类Dev

搜索范围内的文本,如果匹配,则返回匹配值

来自分类Dev

MySQL范围内搜索

来自分类Dev

MySQL范围内的搜索

来自分类Dev

在日期范围内搜索

来自分类Dev

sed:在搜索范围内搜索

来自分类Dev

快速范围内的“间隔”是什么?

来自分类Dev

振荡范围内的值

来自分类Dev

值是否在范围内

来自分类Dev

查找范围内的值

来自分类Dev

测试范围内的值

来自分类Dev

用于将特定值添加到范围内的数组元素的快速算法?

来自分类Dev

在solr范围内搜索数字

来自分类Dev

grep搜索范围内的任何数字

来自分类Dev

在范围内按用户搜索记录

来自分类Dev

如何获得范围内的范围值

来自分类Dev

excel之间的值或在范围内搜索和返回值

来自分类Dev

如何在给定范围内搜索多维数组中的最大值

来自分类Dev

在PY Whoosh全文搜索工程师中,如何创建查询以查找范围内的值?

来自分类Dev

二进制搜索树算法,该算法返回范围内的值数组

来自分类Dev

搜索框内的值在范围内,但停留在列中

来自分类Dev

如何在给定范围内搜索多维数组中的最大值

来自分类Dev

在PY Whoosh全文搜索工程师中,如何创建查询以查找范围内的值?

来自分类Dev

如何使用条件格式来搜索ms excel范围内的特定值?

来自分类Dev

检测列中的最后一个条目以搜索使用范围内的值

来自分类Dev

如何在VBA Excel中集体搜索范围内的两个值

来自分类Dev

一种将特定范围内的列值分组并为新列分配值的快速方法

来自分类Dev

如何测试值是否在范围内?

来自分类Dev

VBA检查范围内的值