1. 空间与时间的转换(多数情况下,时间会影响客户体验,所以常用的性能优化思路就是以空间换时间)
举个简单的例子,任给n个100万以内的数,要求逐一判断它们是不是素数,做法可以是
时间换空间:对每个数循环判断它是否不能被任何数整除,循环很慢但不占用内存空间,这叫时间换空间;
空间换时间:使用埃式筛法预先计算好1~100万中所有的素数并保存在一张表中,对每个数直接看它是否在表中命中,需要很大的内存空间来维护这张表,但判断非常快,这叫空间换时间。
1. 空间与时间的转换(多数情况下,时间会影响客户体验,所以常用的性能优化思路就是以空间换时间)
举个简单的例子,任给n个100万以内的数,要求逐一判断它们是不是素数,做法可以是
时间换空间:对每个数循环判断它是否不能被任何数整除,循环很慢但不占用内存空间,这叫时间换空间;
空间换时间:使用埃式筛法预先计算好1~100万中所有的素数并保存在一张表中,对每个数直接看它是否在表中命中,需要很大的内存空间来维护这张表,但判断非常快,这叫空间换时间。