有哪些有趣的\"时间换空间,空间换时间\"的程序例子

空间换时间很多吧:trie,线段树,hash
时间换空间?3D打印算不算(逃)
Upd:
时间换空间:Gradient Checkpointing
https://arxiv.org/abs/1604.06174

■网友
【有哪些有趣的\"时间换空间,空间换时间\"的程序例子】 莫队是离线换在线,同时减少空间复杂度

■网友
建立索引一般是用空间换时间,因为索引结构通常需要额外的存储空间,但是会提高查询效率。例如B+树是在磁盘上的数据记录之外又建立了一层树形索引,因此需要额外的存储空间,但与此同时用索引可以更快找到需要的记录。
与建立索引相对应的是数据压缩。考虑到压缩和解压缩的时间代价,数据压缩是在用时间换空间。通过应用适当的编码算法,我们可以将原始数据用更少的比特数表示,然而经过编码的数据通常需要经过解压缩才能处理,如果需要更新数据也要解压缩后加入新数据再重新压缩。
当然以上都是比较naive的想法,确实有一些更好的做法,如压缩索引结构和直接查询编码数据,它们无需在时间和空间之间作trade-off。具体的例子如compressed suffix array(https://en.wikipedia.org/wiki/Compressed_suffix_array),这种索引在支持快速匹配子串的同时,还能以接近于理论最优值的空间存储数据。

■网友
动态规划
■网友
压缩算法都是时间换空间吧


    推荐阅读