日期:2014-05-20  浏览次数:20757 次

全球ip用什么数据结构存储?

都是用ip段来记录的,如下:

192.168.1.1/24   北京电信
125.223.254.0/23 上海电信
125.224.0.0/13 湖北联通
125.232.0.0/15  湖北电信
125.253.128.0/17  湖北有线通


这样的ip用什么样的数据结构来存储,可以比较方便的增删改查?

其中要考虑,更新时需要合并,也就是说同一个ip不能出现在不同的段里,这样的数据结构怎么设计比较好?


数据结构 存储

------解决方案--------------------
IP分A级,B级,C级段
根据前几位就可以判断大的归属单位。。
简单的看的话是map,
如果维护的比较少的话,我指的是如果个人来维护一小部分的话,map还是不错的。
至于人家总服务器那边怎么设置的,就不得而知了
------解决方案--------------------
如我所料,果然是前缀树


具体 参考
http://www.freidok.uni-freiburg.de/volltexte/6371/pdf/diss.pdf

建议,
若算法功底可以,直接建立trie
然后遍历
配合hash表