首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
10.4 第十章小结
时间:
2015-01-04 09:58:51
阅读:
112
评论:
0
收藏:
0
[点我收藏+]
标签:
f#
实用函数编程
函数编程
性能
10.4 第十章小结
在这一章,我们探讨了与函数程序效率有关的问题,讨论了用函数方式处理大量数据。因为大多数函数程序使用递归实现,这一章的很大一部分就是围绕这个主题。
可以看到,使用递归的代码,一定要仔细,避免由于递归太深,引起堆栈溢出的错误。在本章开头,我们讨论了一种称为尾递归的技术,它可用来重写我们熟悉的列表处理函数(如map and filter),能避免堆栈溢出。单靠尾递归,不能解决所有问题,所以,我们还讨论了连续,并用来写了一个简单的树处理函数的健壮版本。
我们还探讨了优化处理函数性能的技术。特别是,我们看到了记忆化,能够缓存没有副作用的函数结果。有效的优化依赖复杂性分析,所以,我们讨论了函数式数据结构和性能特点。在选择算法和操作时要小心,因为,一些细微的差别,比如,是在函数式列表的头,还是在列表尾添加元素,可能显著影响性能。我们还讨论了数组, 它不是主要的函数式数据结构,但如果我们使用得当,也可以用于函数方式。
在下一章,我们将继续探讨在函数语言中,实现算法的常见技巧。下一章的许多主题都涉及到使用不可变数据类型,以及函数编程的数学的清晰度。
10.4 第十章小结
标签:
f#
实用函数编程
函数编程
性能
原文地址:http://blog.csdn.net/hadstj/article/details/42386785
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!