书签已装载, 书签制作方法请找 [email protected] 完全免费 本书提供了有关编程的一种与众不同的理解。其主旨是,实际的编程也应像其他科学和工程领域一样基于坚实的数学基础。本书展示了在实际编程语言(如C++)中实现的算法如何在最一般的数学背景中操作。例如,如何定义快速求幂算法,使之能使用任何可交换运算。使用抽象算法将能得到更高效、可靠、安全和经济的软件。 这不是一本很容易读的书,它也不是能提升你的编程技能的秘诀和技巧汇编。本书的价值是更根本性的,其终极目标是提升你对编程的洞察力。要想从中大获裨益,你需要从头到尾认真学习:阅读代码,证明引理,完成练习。
编程原本
✍ Scribed by Alexander Stepanov, Paul McJones
- Publisher
- 机械工业出版
- Year
- 2012
- Tongue
- Chinese
- Leaves
- 297
- Series
- 计算机科学丛书
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
本书提供了有关编程的一种与众不同的理解。其主旨是,实际的编程也应像其他科学和工程领域一样基于坚实的数学基础。本书展示了在实际编程语言(如C++)中实现的算法如何在最一般的数学背景中操作。例如,如何定义快速求幂算法,使之能使用任何可交换运算。使用抽象算法将能得到更高效、可靠、安全和经济的软件。
这不是一本很容易读的书,它也不是能提升你的编程技能的秘诀和技巧汇编。本书的价值是更根本性的,其终极目标是提升你对编程的洞察力。要想从中大获裨益,你需要从头到尾认真学习:阅读代码,证明引理,完成练习。到结束之时,你将看到如何把这里讨论的演绎方法应用到你的程序中,保证你做出的软件部件能一起工作,并表现出它们所应该表现的行为。
书中给出的算法和需求针对某些被操作的类型。有关这些描述的代码(也可以通过Web得到)采用C++的一个小子集书写,这样做是为了让所有有经验的程序员都能理解。这个小子集可以看做一种特殊语言,是由Sean Parent和Bjarne Stroustrup一起设计的。
无论你是一位软件开发者,还是其他以编程作为一项重要活动的专业人员,或者是一名在校的学生,你都会逐渐理解本书的经验丰富的作者多年来一直在教授和阐释的道理:数学对于编程是绝好的东西,理论对于实际是绝好的东西。
✦ Table of Contents
译者序
前言
关于作者
第1章 基础
1.1理念范畴:实体,类别,类属
1.2值
1.3对象
1.4过程
1.5规范类型
1.6规范过程
1.7概念
1.8总结
第2章 变换及其轨道
2.1变换
2.2轨道
2.3碰撞点
2.4轨道规模的度量
2.5动作
2.6总结
第3章 可结合运算
3.1可结合性
3.2计算乘幂
3.3程序变换
3.4处理特殊情况的过程
3.5参数化算法
3.6线性递归
3.7累积过程
3.8总结
第4章 线性序
4.1关系的分类
4.2全序和弱序
4.3按序选取
4.4自然全序
4.5派生过程组
4.6按序选取过程的扩展
4.7总结
第5章 有序代数结
5.1基本代数结构
5.2有序代数结构
5.3求余
5.4最大公因子
5.5广义gcd
5.6Steingcd
5.7商
5.8负量的商和余数
5.9概念及其模型
5.10计算机整数类型
5.11结论
第6章 迭代器
6.1可读性
6.2迭代器
6.3范围
6.4可读范围
6.5递增的范围
6.6前向迭代器
6.7索引迭代器
6.8双向迭代器
6.9随机访问迭代器
6.10总结
第7章坐标结构
7.1二叉坐标
7.2双向二叉坐标
7.3坐标结构
7.4同构,等价和有序
7.5总结
第8章 后继可变的坐标
8.1链接迭代器
8.2链接重整
8.3链接重整的应用
8.4链接的二叉坐标
8.5结论
第9章拷贝
9.1可写性
9.2基于位置的拷贝
9.3基于谓词的拷贝
9.4范围的交换
9.5总结
第10章 重整
10.1置换
10.2重整
10.3 反转算法
10.4 轮换算法
10.5 算法选择
10.6 总结
第11章 划分和归并
11.1划分
11.2平衡的归约
11.3归并
11.4总结
第12章 复合对象
12.1简单复合对象
12.2动态序列
12.3基础类型
12.4总结
跋
附录A 数学表示
附录B 程序设计语言
参考文献
索引
📜 SIMILAR VOLUMES
在最近的几年中,PHP已经发展成为世界上最为流行的Web平台,它运行在全球超过1/3的Web服务器上。PHP的发展不仅是数量上的,也是质量上的。越来越多的公司,包括全球500强榜上的公司都依靠PHP来运行它们的商业级应用,从而创造了新的就业机会并增加了更多的PHP开发需求。本书共分14章,主要内容包括PHP环境的搭建、PHP开发工具、变量和常量、运算符与表达式、流程控制、数学函数、字符串搜索和截取、文件读写、文件上传与下载等。在应用方面介绍了PHP获取HTML表单数据,获取Cookie和Session数据,获取数据库数据,获取XML和JSON数据,获取Ajax异步数据等知识。最后一章介绍了常用
《Scala编程(第3版)》由直接参与Scala开发的一线人员编写,因而对原理的解读和应用的把握更加值得信赖。《Scala编程(第3版)》面向具有一定编程经验的开发者,目标是让读者能够全面了解和掌握Scala编程语言的核心特性,并能够深入理解Scala这门语言在设计取舍背后的动因。即便是不直接使用Scala或从事一线编程工作的读者,也能从《Scala编程(第3版)》学到大量关于函数式和面向对象的编程概念和技巧。
本书介绍TypeScript语言的基础知识,学会使用TypeScript摒除代码中的bug,在工程人员增多后仍能保证代码可弹性伸缩。本书的主要内容有:学习基础知识,学习TypeScript的不同类型和类型运算符,了解其作用和用法。探讨高级话题,理解TypeScript复杂的类型系统,学习如何安全地处理错误和构建异步程序。联系实际应用,在你钟爱的前后端框架中使用TypeScript,把现有的JavaScript项目迁移到TypeScript,以及在生产环境中运行TypeScript应用。
《Linux编程》全面讲述Linux环境下基于C语言的系统编程技术以及相关的理论原理,主要内容包括Linux基本操作、Shell编程、系统I/O编程、文件系统、进程控制原理、多进程并发编程、信号机制、线程概念、多线程并发编程、同步与互斥的概念、基于信号量与P/V操作解决同步及互斥问题、经典同步问题、网络编程、并发网络应用编程等,《Linux编程》安排有大量的程序实例、课后作业,还设计了很多示意图,以帮助读者理解、运用书中介绍的概念、原理和技术。 《Linux编程》内容丰富、结构合理、思路清晰、语言简明流畅、示例翔实,可作为高等院校计算机类专业操作系统、Linux编程等课程的教材,还可作为C程序
<p>本书是在教学实践的基础上反复提炼而成的,内容包括 Android 起步、Android 界面设计基础Android 事件处理、Android 活动与意图(Activity 与 Intent)、Android 服务(Service) Android 广播接器(BroadcastReceiver) Android 文件与本地数据库(SQLite) Android 内容提供者(ContentProvider)应用、Android 图形图像处理、Android 界面设计进阶Android GPS 位置服务与地图编程 Android 编程综合案例等。</p> <p>书中内容全面、材料新颖、案例丰