大数据量 面试题求解

dweqd 2011-06-26 09:34:37
A,B是2个数组,里面有百万条记录,B中的元素A中都有,怎么得到A中有的B没有的元素
数据为 int 型, 无序。 如果是其他数据类型会有什么变化
...全文
375 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2011-07-04
  • 打赏
  • 举报
回复
http://www.cnblogs.com/dullwolf/archive/2011/06/23/2087954.html

位运算神马的,最给力了。
5t4rk 2011-07-01
  • 打赏
  • 举报
回复
应该是用位图好些
cnmhx 2011-07-01
  • 打赏
  • 举报
回复
用多重哈希!
namewchwch 2011-07-01
  • 打赏
  • 举报
回复
int型 直接建立bitmap 然后异或。

1)申请 两个512M内存a,b(32位机子下)初始化为0,
2)遍历数组A 若存在 -2^16 则 a 的第一bit (注意是bit)设置为1,若存在数值 -2^16+1 则内存a的第2 bit设置为1.

3)同理 对数组B 和内存b做同样的处理。

4)对内存 a,b做异或。所得结果即是
lazuma 2011-06-27
  • 打赏
  • 举报
回复
百万级别直接hashtable, 超过的话用bitmap好点
超级大笨狼 2011-06-27
  • 打赏
  • 举报
回复
不好意思,没仔细看题目。

正在看这文章,被误导了。
http://www.soobb.com/Destination_Wiki_27416.html

以前有个面试题目,是数据中只有一个不重复,用异或就可以挑出来。

这个还是哈希,复杂度是O(A)

对于草率审题,表示歉意,我经常草率审题:)
seqingzi 2011-06-27
  • 打赏
  • 举报
回复
以前有个相似的问题,新浪互粉,大笨狼是这么解决的.

seqingzi 2011-06-27
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 seqingzi 的回复:]

AB异或,剩下的就是B中没有的.
[/Quote]

额..不行.异或之后数据就乱了..
seqingzi 2011-06-27
  • 打赏
  • 举报
回复
AB异或,剩下的就是B中没有的.

dweqd 2011-06-27
  • 打赏
  • 举报
回复
求大神指导啊? 谢谢[Quote=引用 8 楼 superdullwolf 的回复:]

异或运算即可,无需其他结构。
[/Quote]
nuptxxp 2011-06-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 superdullwolf 的回复:]

异或运算即可,无需其他结构。
[/Quote]
怎么使用?
pandm 2011-06-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 superdullwolf 的回复:]
异或运算即可,无需其他结构。
[/Quote]

怎么做到的?
YHL27 2011-06-27
  • 打赏
  • 举报
回复
算法求解。。
nkorange 2011-06-26
  • 打赏
  • 举报
回复
用位图不行吧,内存占用太大,用hash对付这种大范围大数据量比较合适。

[Quote=引用 1 楼 pandm 的回复:]

用位图
如果是其他数据就用哈希表
[/Quote]
dweqd 2011-06-26
  • 打赏
  • 举报
回复
可以说详细点儿吗[Quote=引用 1 楼 pandm 的回复:]

用位图
如果是其他数据就用哈希表
[/Quote]
stein42 2011-06-26
  • 打赏
  • 举报
回复
排下序就简单了。
超级大笨狼 2011-06-26
  • 打赏
  • 举报
回复
异或运算即可,无需其他结构。
vcf_reader 2011-06-26
  • 打赏
  • 举报
回复
hash最简单
pandm 2011-06-26
  • 打赏
  • 举报
回复
用位图
如果是其他数据就用哈希表
nkorange 2011-06-26
  • 打赏
  • 举报
回复
如果数据是int型,可以先把数组B里的元素存储在一个hash表里,hash的方法有很多,如链表法或者开放寻址,这些算法书里都有的。然后再遍历一遍A数组,查找A中元素是不是再hash表里,没有则说明是A有而B没有的。

[Quote=引用 5 楼 dweqd 的回复:]

怎么设计 哈希表呢引用 3 楼 nkorange 的回复:
用位图不行吧,内存占用太大,用hash对付这种大范围大数据量比较合适。


引用 1 楼 pandm 的回复:

用位图
如果是其他数据就用哈希表
[/Quote]
加载更多回复(2)

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧