社区
数据结构与算法
帖子详情
求高效的C/C++打散函数。
Balancer
2015-01-30 10:23:35
描述:有一个数组,数组里有1000万个数据,这些数据的取值一共有六种。
问题:如果构建一个函数,将数组内的数据比较均匀的分布。
例如:
函数输入:[a,a,a,b,c,c,c,g,f,d]
函数输出:[a,g,c,a,f,a,c,d,a,c]
备注:因为数据量特别大,希望函数的最坏情况时间复杂度尽可能的高效。
谢谢。
...全文
484
7
打赏
收藏
求高效的C/C++打散函数。
描述:有一个数组,数组里有1000万个数据,这些数据的取值一共有六种。 问题:如果构建一个函数,将数组内的数据比较均匀的分布。 例如: 函数输入:[a,a,a,b,c,c,c,g,f,d] 函数输出:[a,g,c,a,f,a,c,d,a,c] 备注:因为数据量特别大,希望函数的最坏情况时间复杂度尽可能的高效。 谢谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qjgdftxmu
2015-03-08
打赏
举报
回复
可以参考一下洗牌算法
斩不断的风
2015-02-22
打赏
举报
回复
random shuffle
yfk
2015-02-10
打赏
举报
回复
考虑用交换的思路去做 java 代码: public class Test { public void ArrayRandom(ArrayList<Integer> array){ for(int i = array.size()-1; i>=0; i--){ int iRandom = (int)(Math.random()*i); //交换 Integer tmp = array.get(iRandom); array.set(iRandom, array.get(i)); array.set(i, tmp); } } public static void main(String args[]) { ArrayList array = new ArrayList<Integer>(); array.add(1); array.add(1); array.add(2); array.add(2); array.add(2); array.add(2); array.add(3); array.add(4); System.out.println(array); Test test = new Test(); test.ArrayRandom(array); System.out.println(array); } }
kerbcurb
2015-02-06
打赏
举报
回复
为了防止整形数组内容重复,你也可以采取上述方法生成那个整形数组,具体是根据有无被生成过作一判断
kerbcurb
2015-02-06
打赏
举报
回复
随机生成一个整形数组,整形数组里面存你的数据的下标,然后按整形数组下标顺序访问你的数据 long intarray[10000000]; type your_data[10000000]; random(intarray);//伪代码 for (i = 0; i< M;i++) { .......=your_data[intarray[i]]; }
dianyancao
2015-02-01
打赏
举报
回复
对这6个元素按其hash计数,得到每个元素x出现的次数p(x) 之后设计一个等概率分布的随机数发生器来产生x,当生成的x的个数等于p(x)时,不再产生x 这样不用存储输出,只需一个随机数发生器及其配置数据即可得到比较均匀的分布数据
就想叫yoko
2015-02-01
打赏
举报
回复
怎么3a变4a了
Windows 位图显示效果
“随机积木效果”则更为抽象,它将位图
打散
为多个不规则形状,然后随机地在屏幕上重新组合,形成一种拼图般的视觉体验。这个效果需要对位图进行像素级别的处理,随机选取部分区域并变换其位置,同时保持整体图像的可...
9gonggame_src_Vc_源码
UI的响应性则通过消息映射机制实现,例如当用户点击“开始游戏”按钮时,会触发相应的
函数
执行
打散
图片的操作。 在代码实现过程中,良好的编程规范和结构化设计也是关键。源码可能包含了类的设计,如GameBoard类...
C/
C++
| sizeof()
函数
sizeof是C/
C++
中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。 MSDN上的解释为: The sizeof keyword gives the amount of storage, in bytes, associated with a ...
C/
C++
sizeof
函数
详解
sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“ 辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。...菜鸟我对
C++
的掌握尚未深入,其中不乏错误,
C/
C++
socket网络编程
socket多进程编程,tcp和udp流程图,socket
函数
, bind
函数
,listen
函数
,accept
函数
,connect
函数
,recv、recvfrom、read
函数
,send、write、sendto、sendmsg
函数
,close、shutdown
函数
,htonl、ntohl、htons、...
数据结构与算法
33,027
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章