隐藏页面特效

高效技巧-打表法

1|0打表法


打表是一种典型的用空间换时间的技巧,一般指将所有可能需要用到的结果事先计算出来,这样后面需要用到时就可以直接查表得到。常见用法如下:
1.在程序中一次性计算出所有需要用到的结果,之后的查询直接取这些结果。
这是最常用的用法,例如在Fibonacci数F(n)的问题中,如果进行预处理,即把所有的Fibonacci数预先计算并存在数组中,那么每次查询就只需要O(1)的时间复杂度。
2.在程序B中分一次或多次计算出所有需要用到的结果,手工把结果写在程序A的数组中,然后在程序A中就可以直接使用这些结果。
这种用法一般是当程序的一部分过程消耗的时间过多,或是没有想到好的算法,因此在另一个程序中使用暴力计算出结果,这样就能直接在原程序中使用这些结果。例如对于n皇后问题来说,如果使用的算法不够好,很容易超时,而可以在本地用程序计算出对所有n来说n皇后问题的方案数,然后把算出的结果直接写在数组中,就可以根据题目输入的n来直接输出结果。
3.对一些感觉不会做的题目,先用暴力程序计算小范围数据的结果哦,然后找规律,或许就能发现一些“蛛丝马迹”。
这种用法在数据范围非常大的时候容易用到,因为这样的题目可能不是用直接能想到的算法来解决的,而需要寻找一些规律才能得到的结果。

SG函数:https://www.cnblogs.com/techgy/p/12185348.html


__EOF__

本文作者techgy
本文链接https://www.cnblogs.com/techgy/p/15049087.html
关于博主:I am a good person
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   AI未来10Y  阅读(753)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示