忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT 视频 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 28662 | 回复: 7

[算法] 一定要点我啊!假设一个字符串对应一个数字,给你某个字符串要找到对应数字 [复制链接]

论坛徽章:
0
发表于 2016-08-12 10:21 |显示全部楼层
假设一个字符串对应一个数字,给你某个字符串要找到对应数字,大家给我点建议吧,kmp不知道可以吗。
为什么要这样做呢?数字对应数据库的ID,这样索引查找起来比较快。我真是不能理解,其实数据库就百位级别,用索引查找跟字符串(字符串唯一)查找能有区别么?我是这么说的,可是同事反问我“要是一百万台机子请求服务器查找呢?”,我就奇怪了,一百万台请求一百万次,又不是一次查找一百万条。无论是索引还是直接字符串,既然查找一次用的时间可以认为是相同的n秒,你查找一百万次,难道时间就不同的?求解释!

论坛徽章:
12
射手座
日期:2014-11-29 19:22:492015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:252015年迎新春徽章
日期:2015-03-04 09:50:282015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之四川
日期:2017-02-07 21:08:57
发表于 2016-08-12 12:08 |显示全部楼层
1581526111 发表于 2016-08-12 10:21
假设一个字符串对应一个数字,给你某个字符串要找到对应数字,大家给我点建议吧,kmp不知道可以吗。
为什么 ...

支持你的想法。至于“要是一百万台机子请求服务器查找呢”,那是架构问题。要设计一个适当的并行服务架构来解决这个问题。
我不相信你的检索算法会比数据库快。

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:032015年亚洲杯之中国
日期:2015-04-22 15:52:45
发表于 2016-08-12 12:13 |显示全部楼层
如果必须要用, 那就用标准的字符串哈希算法呗----
其实DB里面, 字符串长度可控, 没必要这样折腾去.

论坛徽章:
11
水瓶座
日期:2014-06-10 09:51:0215-16赛季CBA联赛之广夏
日期:2016-06-23 09:53:58程序设计版块每日发帖之星
日期:2016-02-11 06:20:00程序设计版块每日发帖之星
日期:2016-02-09 06:20:0015-16赛季CBA联赛之上海
日期:2015-12-25 16:40:3515-16赛季CBA联赛之广夏
日期:2015-12-22 09:39:36程序设计版块每日发帖之星
日期:2015-08-24 06:20:002015亚冠之德黑兰石油
日期:2015-08-07 09:57:302015年辞旧岁徽章
日期:2015-03-03 16:54:15摩羯座
日期:2014-07-21 10:11:2815-16赛季CBA联赛之吉林
日期:2016-08-20 10:43:12
发表于 2016-08-12 14:25 |显示全部楼层
Map<String, Integer>

论坛徽章:
0
发表于 2016-08-12 17:06 |显示全部楼层
大哥怎么不按套路出牌,标题明确写了要自己实现,再说C中没有map 回复 4# lxyscls


   

论坛徽章:
12
射手座
日期:2014-11-29 19:22:492015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:252015年迎新春徽章
日期:2015-03-04 09:50:282015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之四川
日期:2017-02-07 21:08:57
发表于 2016-08-13 14:05 |显示全部楼层
本帖最后由 yulihua49 于 2016-08-13 14:07 编辑
1581526111 发表于 2016-08-12 17:06
大哥怎么不按套路出牌,标题明确写了要自己实现,再说C中没有map 回复 4# lxyscls

坛子里有C_STL,你找找看。
SDBC里有BB_tree,平衡二叉树。
自己写一个也行。

不过这样做没啥意义。


你还是在数据库里建一个表,必要时调到内存使用。调进来时排个序,然后用二分查找。

论坛徽章:
7
申猴
日期:2014-01-01 22:11:07白羊座
日期:2014-11-18 20:53:022015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之四川
日期:2016-01-19 18:39:36综合交流区版块每日发帖之星
日期:2016-06-07 06:20:0015-16赛季CBA联赛之广东
日期:2016-10-30 11:34:40CU十四周年纪念徽章
日期:2016-11-13 10:06:57
发表于 2016-10-06 17:26 |显示全部楼层
按套路出牌就不是你大哥了!!!!lol
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP