《数学与泛型编程:高效编程的奥秘》一导读

简介: Alex是数学专业出身,但我不是。因此,我很努力地试着去读懂课程里的一些材料,并根据自身体会来确定那些需要加以解说的难点。如果你发现本书所用的一些描述方式及术语和专业数学家稍有不同,或是本书在解释某个问题时多写了几个简单的步骤,那么这应该归咎于我才对。

543f8cf3e3bd56d246818a0049524a32ed5c3e9e

前言

如果将计算机科学与数学分离,那么这两者的发展都会有很大困难。于是,我们就试图通过一些课程,把人类文明早期就有的数学活动与现代才有的计算机活动结合起来。本书正是基于这样一种课程而编写的。
能够与友人Dan Rose合作,我深感荣幸。他的管理工作令我们团队能够把泛型编程的原则运用到搜索引擎的设计上来,而且他愿意把我原来那些相当分散的课程内容集结成现在这样一本连贯的书籍。Dan和我都希望读者能够喜欢我们这次合作的成果。
——A.A.S.

大家将要阅读的这本书是根据“Algorithmic Journeys”课程的笔记而撰写的,该课程于2012年由Alex Stepanov在A9.com讲授。当Alex与我合作把课程材料改编为书籍时,我们发现:其实可以将这些材料整理得更为集中一些,使其聚焦于泛型编程及其数学基础。这个想法促使我们对本书要讲解的话题进行了大幅度的调整,删掉了与集合论及逻辑有关的大段文字,因为那些内容似乎和本书要讲的内容无关。同时,我们还对一些细节有所增删,以便大家能够更加连贯地阅读本书,并使那些数学知识较缺乏的读者也能够顺畅地理解书中的内容。
Alex是数学专业出身,但我不是。因此,我很努力地试着去读懂课程里的一些材料,并根据自身体会来确定那些需要加以解说的难点。如果你发现本书所用的一些描述方式及术语和专业数学家稍有不同,或是本书在解释某个问题时多写了几个简单的步骤,那么这应该归咎于我才对。
——D.E.R.

目  录

第1章 内容提要
1.1 编程与数学
1.2 从历史的角度来讲解
1.3 阅读准备
1.4 各章概述

第2章 算法初谈
2.1 埃及乘法算法
2.2 改进该算法
2.3 本章要点

第3章 古希腊的数论
3.1 整数的几何属性
3.2 筛选素数
3.3 实现该算法并优化其代码
3.4 完美数
3.5 毕达哥拉斯学派的构想
3.6 毕氏构想中的严重缺陷
3.7 本章要点

相关文章
|
算法 数据处理 C++
【C++ 20 新特性 算法和迭代器库的扩展和泛化 Ranges】深入浅出C++ Ranges库 (Exploring the C++ Ranges Library)
【C++ 20 新特性 算法和迭代器库的扩展和泛化 Ranges】深入浅出C++ Ranges库 (Exploring the C++ Ranges Library)
1572 1
|
监控 数据可视化 Ubuntu
|
网络协议 算法 数据安全/隐私保护
HTTP2和HTTP3区别?HTTP2有什么缺点?
总的来说,如果把HTTP/2比作是优化过的汽车,那HTTP/3就像是直升飞机,它不仅飞得快,而且即使前面有障碍也不会轻易停下。想要网站速度更快,HTTP/3无疑提供了更好的选择。
1062 3
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 10 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
消息中间件 JSON 安全
Kafka常用命令归纳
本文档详细介绍了Kafka 2.2及以上版本中Topic的操作命令,包括创建、查看、修改及删除Topic,以及动态调整主题参数和限速。此外,还涵盖了数据生产和消费的相关命令与性能测试方法,并对内部Topic(如`__consumer_offsets`和`__transaction_state`)的操作进行了说明。最后,提供了常见错误处理方案及Kafka推荐配置,帮助用户更好地管理和优化Kafka集群。
|
域名解析 网络协议
Namesilo域名解析
简单的3步,就可以让你快速完成Namesilo域名解析设置,修改DNS解析记录。首先你需要登录Namesilo官网,点击My Account进入账户主页,然后点击Domain Manager打开Namesilo域名管理控制台。找到你想要解析的域名,在其右侧点击蓝色小球图标进入域名修改界面,添加和删除你的域名解析记录。
2572 0
Namesilo域名解析
|
传感器 数据采集 物联网
探索未来:.NET nanoFramework引领嵌入式设备编程革新之旅
【8月更文挑战第28天】.NET nanoFramework 是一款专为资源受限的嵌入式设备设计的轻量级、高性能框架,基于 .NET Core,采用 C# 进行开发,简化了传统底层硬件操作的复杂性,极大提升了开发效率。开发者可通过 Visual Studio 或 Visual Studio Code 快速搭建环境并创建项目,利用丰富的库和驱动程序轻松实现从基础 LED 控制到网络通信等多种功能,显著降低了嵌入式开发的门槛。
320 0
|
XML 开发框架 .NET
【已解决】请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记
【已解决】请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记
|
Java
初始化ArrayList的方式
初始化ArrayList的方式
266 4