社区
C语言
帖子详情
关于字符串到整数的映射问题.
predawning
2003-04-10 06:35:20
这个问题是这样的:
提供唯一字符串作为标识,并产生一个对应的整数.这个整数在整个数据集中也应该是唯一的.这样这个整数又可以作为数据库记录集中的索引.从而通过查找字符串完成数据库的查询.
那么有什么好的算法能够完成字符串到整数的映射呢.即生成一一对应的<字符串,整数>元组.
希望有这方面经验的人热心帮助,如有相关材料,或例子也可推荐.谢谢.
...全文
465
8
打赏
收藏
关于字符串到整数的映射问题.
这个问题是这样的: 提供唯一字符串作为标识,并产生一个对应的整数.这个整数在整个数据集中也应该是唯一的.这样这个整数又可以作为数据库记录集中的索引.从而通过查找字符串完成数据库的查询. 那么有什么好的算法能够完成字符串到整数的映射呢.即生成一一对应的元组. 希望有这方面经验的人热心帮助,如有相关材料,或例子也可推荐.谢谢.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
predawning
2003-04-11
打赏
举报
回复
kicool(多米诺)
这个例子是个字符串到整数(正负都有)的hash函数.不知道生成的整数是否没有重复?
.
我现在还无法验证.
predawning
2003-04-11
打赏
举报
回复
hash算法我也考虑过.但是,hash出来的值可能会有重复,这不是我想要得.如果hash出来的值唯一,当然是最理想的.因为这个整数是做数据库的标识用的,所以范围不会超过长整形的最大数.
predawning
2003-04-11
打赏
举报
回复
补充一句,这个字符串说到底是路径(数据存放的位置)
kicool
2003-04-10
打赏
举报
回复
详见<<数据结构与算法-面向对象的c++设计模式>>
kicool
2003-04-10
打赏
举报
回复
#include <string>
#include <iostream>
#include <cstdlib>
using namespace std;
typedef int HashValue ;
unsigned int const shift = 6;
HashValue const mask =~0U << (sizeof(HashValue)*8-shift);
HashValue Hash(string const& s)
{
HashValue result = 0;
for(unsigned int i = 0; s[i] !=0; ++i)
result = (result & mask) ^(result <<shift)^s[i];
return result;
};
int main()
{
cout <<Hash("Hash1")<<endl;
cout <<Hash("Hash2")<<endl;
cout <<Hash("Hash33")<<endl;
cout <<Hash("Hash444")<<endl;
cout <<Hash("Hash5555")<<endl;
system("pause");
}
zhoory
2003-04-10
打赏
举报
回复
关注
zhouzhaohan
2003-04-10
打赏
举报
回复
我想这应该是找一个哈希算法。你应该把字符串的特点再说的详细一点,整数的范围有多大等等,这样才有利于找到最有效的算法。我想也许再网上搜搜,又比较经典的算法。但愿这不会变成一个高深的数学问题。
practicaldoing
2003-04-10
打赏
举报
回复
我想,用c++标准程序库中的映射(map)类可以解决问题
字节跳动2017后端工程师实习生笔试题一——最大
映射
解析字节跳动2017后端工程师实习生笔试题中关于最大
映射
的
问题
,通过转换思路,将
字符串
对应
整数
之和转变为字符出现
整数
之和,从而找到最优解。
Java中的
映射
值修改
问题
本文探讨了Java中关于
映射
值修改的
问题
。通过案例分析,指出在
字符串
到
整数
映射
时,直接修改get方法返回的值是不允许的;而在
字符串
到集合
映射
时,对get方法返回的对象进行操作会影响原始
映射
。作者分享了一次因这个
问题
导致的bug经历,建议尽量使用put方法修改
映射
,并在不希望影响原
映射
时避免直接引用集合,而是使用forEach等方法。
最大
映射
今日头条编程
本文介绍了一种算法,用于解决
字符串
映射
成数字后如何获得最大
整数
和的
问题
。通过构建字符权重
映射
,利用排序及特殊处理,确保
字符串
表示的
整数
之和最大。
最大
映射
探讨了如何通过合理地将字符
映射
为数字来最大化由这些字符组成的
字符串
所表示的
整数
之和的
问题
。文章提供了一种算法实现思路,并通过示例详细解释了整个过程。
字符串
hash(string)
本文介绍了一种将
字符串
映射
为
整数
的Hash方法,并通过一个具体的
问题
实例——查询
字符串
在
字符串
集合中出现的次数——展示了如何使用Hash函数解决实际
问题
。文章详细解释了Hash函数的设计思路,以及如何通过Hash函数将
字符串
转换为
整数
,从而实现高效的
字符串
查找。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章