全球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表