最近要写份报告,分析Dijkstra和Bellman-Ford 算法的效率
这两个算法并不难写,但我对与生成测资却毫无方向
报告希望我们测试在不同测资下算法的表现
应该不是单纯乱数生成吧,google很久也没头绪
想请大家给我些方向,感谢!!
方向主要是各自的 best case, worst case, average case
楼主: kevin898y (请输入暱称) 2016-04-30 15:41:00
抱歉 还是不太了解,可否告诉我如何生成一张图 可以让算法运行
楼主: kevin898y (请输入暱称) 2016-04-30 15:49:00
小数据单然没问题,可要比较程式的执行时间 需要极大的资料量,我不会生成
大量的话,当然 random case 也是一种方法,但是 random对某些算法是 best, 对另一些算法是 worst 或都不是你找出不同 case 的生成规则就能写程式生成像是一字长蛇阵等等,手画只能画十节,依样产生一百万节这你要自己去想一想啦,不同题目会有不同的 case 要考虑
楼主: kevin898y (请输入暱称) 2016-04-30 16:03:00
也许是我对算法不够熟悉才想不出规则吧, 我再研究
作者:
wtchen (没有存在感的人)
2016-04-30 16:26:00在linux下可以用/dev/urandom生成乱数,那应该是真乱数
作者:
Caesar08 (Caesar)
2016-04-30 16:35:00mt19937很够用了,用machine的random会很慢题外话,想用真正的乱数,请找量子电脑 ^.<
作者:
Clangpp (Clang++)
2016-04-30 20:34:00Linux上面那个也不是真乱数啦 除非你接的装置可以侦测热噪讯号或是上面说的量子电脑
这个我不同意,Linux 会吸收多种乱源 (我不是说八卦板)所以 /dev/random 的不可预测性是很好的那所谓真乱数是相对 pseudo random number generator来说的,/dev/random 可以称为真乱数没错啊
作者:
Clangpp (Clang++)
2016-04-30 20:39:00可是跟数学上定义的随机乱数好像又有差了??
统计学上定义的随机乱数根本不用具备不可预测性好吗 XD/dev/random 和 /dev/urandom 也是有符合你要的统计特性它不是直接拿现实生活中的乱数源吐给你而已
作者:
Clangpp (Clang++)
2016-04-30 20:42:00喔喔 长知识了
作者:
mike0227 (我又小看了那复杂的世界)
2016-05-01 00:24:00要给seed就是pseudo吧?
作者:
CoNsTaR ((const *))
2016-05-01 12:42:00void *ptr = malloc(0);srand((unsigned)ptr);free(ptr); 如何?
首先是 srand()/rand() 用的 LFSR 算法很容易破解只要观察 2N 个输出乱数就能完整重现 N 个 register 的内部状态,进而预测接下来吐出的每一个乱数等等歪楼了啦,原 PO 是要产生测资,为什么我们在讲不可预测性... 产生测资根本不需要不可预测好吗malloc 能供应给你的 random bits 不算太多你在 PC 上第一次 malloc 得到的指标,尾巴永远是一样的仔细探讨下去可能要长篇连载了,总之 /dev/urandom 万岁
作者:
wtchen (没有存在感的人)
2016-05-01 16:10:00歪楼好像是我的错....(眼残看错)