《数学与泛型编程:高效编程的奥秘》一第1章 内容提要

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 本节书摘来自华章出版社《数学与泛型编程:高效编程的奥秘》一 书中的第1章,作者:丹尼尔E.罗斯(Daniel E. Rose),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第1章

内 容 提 要
不懂数学,就无法了解世界。
——罗吉尔·培根(Roger Bacon),《大著作》(Opus Majus)
这是一本谈编程的书,但是它与大多数的编程书都不太一样,因为除了算法和代码之外,本书还会给出数学证明和一些讲述从古代到20世纪各种数学发现的历史材料。
另一个更为具体的特色在于:这是一本谈论泛型编程(generic programming)的书。泛型编程是出现于20世纪80年代的编程方法,在20世纪90年代随着C++标准模板库(Standard Template Library,STL)而变得流行起来。我们可以这样定义它:
定义1.1 泛型编程是一种专注于对算法及数据结构进行设计的编程方式,它使得这些算法及数据结构能够在不损失效率的前提下,运用到最为通用的环境中。
用过STL的读者可能在想:“不对吧?泛型编程的概念只用这么简单的一句话就能定义出来?模板和迭代器(iterator)等特性怎么没有提到呢?”其实那些特性应该说是工具,它们使得编程语言能够支持泛型编程。程序员固然应该学会高效地使用那些工具,然而泛型编程主要谈的是编程态度(attitude),而不是某一套工具。
笔者认为,所有的程序员都应该抱持这种编程态度,也就是说,都应该试着以这种通用的方式来编写代码。如果能够写出高品质的泛型程序,那么很容易就能使用并修改其中的各个组件。这要比那种采用硬代码来编写的程序好很多,因为后者会针对具体的应用程序来给数据结构、算法以及接口施加一些毫无必要的限制。把程序写得通用一些可以令它变得更为简洁,也更为强大。

相关文章
|
算法 数据处理 C++
【C++ 20 新特性 算法和迭代器库的扩展和泛化 Ranges】深入浅出C++ Ranges库 (Exploring the C++ Ranges Library)
【C++ 20 新特性 算法和迭代器库的扩展和泛化 Ranges】深入浅出C++ Ranges库 (Exploring the C++ Ranges Library)
1899 1
|
6月前
|
算法 搜索推荐 Serverless
为什么 ES 的搜索结果只到 10,000?强制“数清楚”的代价有多大
Elasticsearch 7.x后默认返回10,000总数,实为Block-Max WAND算法的性能优化——跳过低分文档块以提升查询速度。强行开启`track_total_hits:true`将禁用该优化,导致CPU飙升、延迟激增。本文深入Lucene底层,解析其原理、陷阱与治理方案。
756 1
|
8月前
|
存储 人工智能 算法
AI时代数字营销的底层重构:于磊老师深度解析Geo未来发展趋势展望
随着AI技术重塑数字营销,生成式引擎优化(GEO)正取代传统SEO。本文结合15年经验专家于磊的洞察,探讨GEO未来发展趋势:以E-E-A-T构建内容权威,倡导人性化表达与生态规范化,反对黑帽行为,推动AI时代可持续、有温度的营销新范式。
669 8
|
存储 人工智能 Cloud Native
科研+ AI :深势科技,全新科研范式引领者
深势科技作为AI for Science的引领者,专注于微观粒子行为研究,推动材料科学和生命科学领域的创新。通过AI技术,深势科技加速了药物研发、纳米药物微流控等技术的发展,显著提升了计算性能和实验效率。与阿里云合作,利用其云原生计算和存储服务,深势科技实现了资源弹性调度和高效管理,大幅提升了研发效率,服务于超过50万科研用户,并计划建设AI for Science超级实验室,推动更多科技创新。
820 0
|
10月前
|
SQL Shell 网络安全
vulnhub靶机实战_DC-8
本文介绍DC-8靶机渗透全过程,涵盖环境搭建、信息扫描、SQL注入、密码爆破、反向Shell获取及提权。利用sqlmap与john工具破解用户凭据,通过Web表单执行命令并获取root权限,最终读取flag完成渗透测试。
1346 0
CPU的工作原理基于其内部结构,通过执行指令来完成各种任务
CPU的工作原理基于其内部结构,通过执行指令来完成各种任务
680 3
|
存储 人工智能 开发框架
蚂蚁集团开源项目 DB-GPT 和 VSAG 惊艳亮相,引领 AI 数据革命!
9月5日,在2024 Inclusion·外滩大会“从DATA for AI到AI for DATA”见解论坛上,由蚂蚁集团发起的,旨在提高数据库与大模型应用开发效率的“星辰智能社区”新发布了两个项目:AI原生数据应用开发框架DB-GPT新版本与向量索引库VSAG。
|
存储 监控 物联网
计算机网络的应用
计算机网络已深入现代生活的多个方面,包括通信与交流(电子邮件、即时通讯、社交媒体)、媒体与娱乐(在线媒体、在线游戏)、商务与经济(电子商务、远程办公)、教育与学习(在线教育平台)、物联网与智能家居、远程服务(远程医疗、智能交通系统)及数据存储与处理(云计算、数据共享与分析)。这些应用极大地方便了人们的生活,促进了社会的发展。
1149 2
计算机网络的应用
|
传感器 机器学习/深度学习 人工智能
AI视频监控卫士技术介绍:智能化河道管理解决方案
AI视频监控卫士系统,通过高清摄像头、智能传感器和深度学习技术,实现河道、水库、城市水务及生态保护区的全天候、全覆盖智能监控。系统能够自动识别非法行为、水质变化和异常情况,并实时生成警报,提升管理效率和精准度。
1441 13
|
存储 SQL 弹性计算
实时数仓Hologres新一代弹性计算组实例技术揭秘
实时数仓Hologres新一代弹性计算组实例技术揭秘
3266 57
实时数仓Hologres新一代弹性计算组实例技术揭秘

热门文章

最新文章