延迟计算(Lazy)
惰性判断是一种判断策略,用于保留对表达式的判断,直到需要其值为止,这样可以避免重复判断, Haskell 是这种函数性编程语言的一个很好的示例,其基础是基于惰性判断。
Unix映射函数中使用了惰性求值,通过仅从磁盘加载所需的页面来提高其性能,剩余的页面将不会分配内存。
懒惰判断-优势
它通过丢弃临时计算和条件来降低算法的时间复杂度。
它允许程序员在初始化数据结构后无序访问它们,只要它们没有任何循环依赖。
最适合加载不经常访问的数据。
懒惰判断-缺点
通过创建 thunks (延迟的对象),它强制语言运行时保留子表达式的求值,直到最终输出中需要它为止。
有时会增加算法的空间复杂度。
Python惰性判断
Python中的 range 方法遵循惰性判断的概念。它节省了较大范围的执行时间,而且我们一次不需要所有值,因此也节省了内存消耗。看下面的示例。
r=range(10) print(r) range(0, 10) print(r[3])
它将产生以下输出-
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 3
祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)
精选教程推荐
👇 以下精选教程可能对您有帮助,拓展您的技术视野
暂无学习笔记,成为第一个分享的人吧!
您的笔记将帮助成千上万的学习者