《算法导论(原书第3版)》一本章注记

简介: 本节书摘来自华章出版社《算法导论(原书第3版)》一 书中的第2章,第2.5节,作者:(美)Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,Clifford Stein,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

本章注记

1968年,Knuth发表了总标题为《计算机程序设计艺术》[209,210,211]的三卷著作中的第1卷。第1卷引领了现代计算机算法的研究,使之聚焦于运行时间的分析。对这里给出的许多主题,这3卷著作仍然是有吸引力的且有价值的参考书。依照Knuth的说法,“算法”这个词来源于9世纪一位波斯数学家的名字“al-Khowrizm”。

Aho、Hopcroft和Ullman[5]提倡使用第3章引入的记号,包括Θ记号,把算法的渐近分析作为比较相对性能的一种方法。他们还推广了使用递归关系来描述递归算法的运行时间。

Knuth[211]提供了许多排序算法的一种百科全书似的处理。他对各种排序算法的比较包括精确的执行步数分析,这种分析类似于我们这里对插入排序所做的分析。Knuth对插入排序的讨论包括该算法的几种变形。其中最重要的是由D.L.Shell提出的Shell排序,它对输入序列的周期性子序列使用插入排序,结果形成了一种更快的排序算法。

Knuth还描述了归并排序。他提到在1938年就有人发明了一种机械排序装置,能够在一趟内合并两组穿孔卡片。计算机科学的先驱之一J.von Neumann显然于1945年在计算机EDVAC上为归并排序编写过一个程序。

Gries[153]描述了证明程序正确性的早期历史,他把该领域的第一篇文章归功于P.Naur,并把循环不变式归功于R.W.Floyd。Mitchell[256]编写的教材中描述了证明程序正确性的一些更新的进展。

相关文章
|
XML 数据挖掘 数据格式
|
存储 算法 Java
惊!Java程序员必看:JVM调优揭秘,堆溢出、栈溢出如何巧妙化解?
【8月更文挑战第29天】在Java领域,JVM是代码运行的基础,但需适当调优以发挥最佳性能。本文探讨了JVM中常见的堆溢出和栈溢出问题及其解决方法。堆溢出发生在堆空间不足时,可通过增加堆空间、优化代码及释放对象解决;栈溢出则因递归调用过深或线程过多引起,调整栈大小、优化算法和使用线程池可有效应对。通过合理配置和调优JVM,可确保Java应用稳定高效运行。
613 4
|
11月前
|
存储 缓存 安全
阿里云企业级云服务器收费标准、选型指南与活动价格参考
2025年租用阿里云企业级云服务器,用户可以选择多种实例类型和配置,以满足不同规模和需求的企业应用。目前在阿里云的活动中提供了包括通用算力型u1、通用型g9i与g8y、计算型c9i与c8y、内存型r9i等在内的多种企业级云服务器实例,例如,通用算力型u1实例2核4G5M带宽80G ESSD Entry云盘特惠价199元1年,计算型c9i实例2核4G活动价为1686.70元/1年起,通用型g9i实例2核8G活动价为2097.69元/1年起。本文将详细解析阿里云企业级云服务器的价格体系,涵盖实例规格、收费标准与活动及选型指南等,以供了解和参考。
|
11月前
|
存储 网络协议 算法
ISIS协议详解
ISIS协议是一种链路状态路由协议,广泛用于大规模网络中。它最初基于OSI模型设计,后经扩展支持TCP/IP协议。ISIS通过SPF算法计算最短路径,使用NSAP地址进行设备寻址,具备灵活的区域划分和分层结构。协议通过L1、L2及L1/2路由器实现区域内部与骨干区域的通信,支持P2P和广播网络类型,具备邻接建立、LSDB同步、路由计算等核心机制,广泛应用于运营商和企业骨干网中。
|
人工智能 搜索推荐 量子技术
AI联网搜索时的prompt小技巧
本文详细介绍了如何利用AI工具,特别是那些具有深度联网搜索能力的大模型,来提高信息检索的效率和准确性。
AI联网搜索时的prompt小技巧
|
自然语言处理 数据挖掘 API
淘宝直播间弹幕 API 接口(淘宝 API 系列)
淘宝直播间弹幕API助力电商直播数据分析与优化。通过实时获取弹幕信息(昵称、内容、时间、类型),商家可精准把握消费者需求,优化直播内容;开发者可构建数据分析工具和智能客服系统。接口采用WebSocket协议,支持全双工通信,确保数据实时性。请求需包含直播间ID(room_id),并遵循平台使用规范。示例代码展示了Python调用方法,需安装`websocket-client`库并处理重连与异常。
1286 6
|
人工智能 Python
人工智能导论——谓词公式化为子句集详细步骤
在谓词逻辑中,有下述定义: 原子(atom)谓词公式是一个不能再分解的命题。 原子谓词公式及其否定,统称为文字(literal)。$P$称为正文字,$\neg P$称为负文字。$P$与$\neg P$为互补文字。 <font color="ddd0000">任何文字的析取式称为子句(clause)。任何文字本身也是子句。</font> 由子句构成的集合称为子句集。 不包含任何文字的子句称为空子句,表示为NIL。 <font color="ddd0000">由于空子句不含有文字,它不能被任何解释满足,所以,空子句是永假的、不可满足的。</font> 在谓词逻辑中,任何一个谓词公式都可以通过应用等
2977 1
人工智能导论——谓词公式化为子句集详细步骤
|
缓存 JavaScript
WordPress内容付费插件
这是一款内容付费插件,可隐藏文章部分内容或分类下的所有文章,用户需付费查看。支持沙箱测试、两种加签模式、静态缓存网站使用、游客购买等功能。使用时将内容放入 `[pay price=&quot;9.9&quot;]` 和 `[/pay]` 简码中即可。需确保网站支持支付宝订单码支付功能。提供免费样式调整服务,适合需要内容变现的网站。
391 0
|
传感器 缓存 芯片
IMU调试方案
本文是关于IMU(惯性测量单元)QMI8658C型号的调试方案,包括I2C和SPI通信协议的详细介绍、接线方法、工作原理以及优缺点分析,并提供了相关的数据手册和开发资源链接。
798 4
IMU调试方案
|
机器学习/深度学习 人工智能 编解码
2024通义语音AI技术图景,大模型引领AI再进化(3)
2024通义语音AI技术图景,大模型引领AI再进化