免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7935 | 回复: 12
打印 上一主题 下一主题

[算法] C/C++怎么实现查找1000 000个数字,有没有重复? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-15 17:35 |只看该作者 |倒序浏览
1.生成1000 000个32位整数,怎么保存才方便查询?
2.怎么查询1000 000个数据中,任意两个数字都不相等。(没有重复)


c/c++怎么实现??

论坛徽章:
0
2 [报告]
发表于 2011-04-15 17:51 |只看该作者
1.生成1000 000个32位整数,怎么保存才方便查询?
2.怎么查询1000 000个数据中,任意两个数字都不相等。( ...
ATmega32 发表于 2011-04-15 17:35



    1.hash最方便查询了。hashset或者hashmap  
   
    2.也可以用hash来做,使用stl的hashmap,key是数值,value是计数,在把数据插入过程中判断value的值。   

      还有一种方法,跟1类似也是用位图来做。具体步骤就是建立一个位图数组,将生成的整数作为角标。位图数组的每一位初始化为0,读入一个数据后将相应位置为1.  插入数据时检查相应位是否为1。

论坛徽章:
0
3 [报告]
发表于 2011-05-03 21:50 |只看该作者
bitmap  512M的内存,搞定。

论坛徽章:
0
4 [报告]
发表于 2011-05-03 21:51 |只看该作者
100w个数字,hash一样也方便。

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
5 [报告]
发表于 2011-05-03 21:51 |只看该作者
sort and dc

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
6 [报告]
发表于 2011-05-04 13:50 |只看该作者
数据量太小,内存足够的情况下,照抄数据结构上的算法都可以搞定。

论坛徽章:
0
7 [报告]
发表于 2011-05-04 16:03 |只看该作者
bitmap搞定

论坛徽章:
0
8 [报告]
发表于 2011-05-04 16:10 |只看该作者
1.生成1000 000个32位整数,怎么保存才方便查询?
2.怎么查询1000 000个数据中,任意两个数字都不相等。( ...
ATmega32 发表于 2011-04-15 17:35



    第二個問題可以使用Hash表,發生Hash沖突的時候再判斷是否相等

论坛徽章:
0
9 [报告]
发表于 2011-05-04 16:10 |只看该作者
1.生成1000 000个32位整数,怎么保存才方便查询?
2.怎么查询1000 000个数据中,任意两个数字都不相等。( ...
ATmega32 发表于 2011-04-15 17:35



    對了。。ATMega32這樣的8bit處理器上,運行這個程序估計夠嗆啊

论坛徽章:
0
10 [报告]
发表于 2011-06-16 20:09 |只看该作者
最多只能查1000000次,别玩崩了。

  1. int arr[1000000];
  2. int *p = arr;
  3. int arr_rand(){
  4.        swap(*p, p[rand()%(1000000 - (p-arr))]);
  5.        return *p++;
  6. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP