[返回科技频道首页]·[所有跟帖]·[ 回复本帖 ] ·[热门原创] ·[繁體閱讀]·[版主管理]
差矣,预先计算用时也是算法的一部分,讨论见内
送交者: 孤魂浪子[进士☆] 于 2018-04-23 20:50 已读 88 次  

孤魂浪子的个人频道

回答: 更快的方式:预先计算出1到1000000的阶乘结果,保存到硬盘。 由 GoE 于 2018-04-23 0:52

1. 如题,预先计算本身也是算法的一部分,光是这一步的复杂性就已经和现有的相当了。
2. 文件访问本身太过耗时,除非空间复杂性太高,否则不考虑。万一不得不借用外存,那么外存的组织方式也是算法的一部分。
3. 我现在手头的阶乘算法(一种素因子分解分治算法)可以在一秒内计算一百万的阶乘(本人电脑实绩0.6秒左右),但已经是目前人类所知最快的算法了。如果不对点数和的计算公式作重大改进,则无论如何改进算法也只是倍数级的小打小闹,而不是数量级的。
4. 我考虑的一种改进方法是:对于i=0, ... , s/m(s/m是整除) ;如果能有快速的递推算法从 Product(i) = (s - m*i + 1) * ... * (s - m*i + n - 1) 计算出Product(i+1),则可能数量级地改进时间复杂度。
5. 另一种改进方法:就是尽可能快速的计算 Product(i),现正在进行中。这个途径理论上改进空间非常有限,而且马上就要到头了。
6. 最佳改进方法:改进公式。这个途径是否可行到目前我完全不知。
7. 我发帖的目的,主要还是求对公式的改进。
喜欢孤魂浪子朋友的这个贴子的话, 请点这里投票,“赞”助支持!
[举报反馈]·[ 孤魂浪子的个人频道 ]·[-->>参与评论回复]·[用户前期主贴]·[手机扫描浏览分享]·[返回科技频道首页]
帖子内容是网友自行贴上分享,如果您认为其中内容违规或者侵犯了您的权益,请与我们联系,我们核实后会第一时间删除。

所有跟帖:        ( 主贴楼主有权删除不文明回复,拉黑不受欢迎的用户 )


用户名:密码:[--注册ID--]

标 题:

粗体 斜体 下划线 居中 插入图片插入图片 插入Flash插入Flash动画


     图片上传  Youtube代码器  预览辅助

手机扫描进入,浏览分享更畅快!

楼主本栏目热帖推荐:

>>>>查看更多楼主社区动态...






[ 留园条例 ] [ 广告服务 ] [ 联系我们 ] [ 个人帐户 ] [ 版主申请 ] [ Contact us ]