key大概约6百万, 请问使用哪种hash结构?
时间:2011-12-03
来源:互联网
发现使用map结构时, 当记录条数比较多时(key为字符串string型, value为int型), 例如600万, 占的内存量非常大. 32G内存机器根本就不够跑.
请问当记录比较大时, 哪种hash结构比较适合, 对内存需求不是很大? 谢谢
请问当记录比较大时, 哪种hash结构比较适合, 对内存需求不是很大? 谢谢
作者: lidengdeng 发布时间: 2011-12-03
可以把字符串编码成long long。然后就是long long 到int的映射
算法导论上有一种思路是abc => c + b*26 + a*26*26
也可以参考这里:http://topic.csdn.net/u/20110729/10/dbf05cb5-93c5-4e4f-9b23-7772418bb94e.html?12765
算法导论上有一种思路是abc => c + b*26 + a*26*26
也可以参考这里:http://topic.csdn.net/u/20110729/10/dbf05cb5-93c5-4e4f-9b23-7772418bb94e.html?12765
作者: dizuo 发布时间: 2011-12-03
记错了,是编程之美上的一道题。
作者: dizuo 发布时间: 2011-12-03
数据库比较合适

作者: joanlynnlove 发布时间: 2011-12-03
对string做个转换是个不错的想法,可以试一下CRC32
或者采用多级索引,
600万个数据,比如将主键a开头的放在一个map里面,b开头的放在一个map里面,
要的时候先查找第一个字符是什么,如果是a的话那就只加载a所对应的map了
或者采用多级索引,
600万个数据,比如将主键a开头的放在一个map里面,b开头的放在一个map里面,
要的时候先查找第一个字符是什么,如果是a的话那就只加载a所对应的map了
作者: p569354158 发布时间: 2011-12-03
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28