“珠玑之椟”系列简介与索引

简介:

系列博文主要目的:

  收集《编程珠玑》和《编程珠玑(续)》(以下简称《续》)上的算法和思想,并包括了一些自己的思考和对相关问题的引申,以备复习和查用。

内容提要:

  主要是算法收集,结合了《程序设计实践》 (Practise of Programming)、《编程精粹:编写高质量C语言代码》(Writing solid code)和《算法导论》的部分相关内容,以及自己的思考,无论你是否看过原书,都能够帮助你快速理解以至于能够独立完成这些算法。我相信自己写的解释比原书详细而易于理解,并且根据我的经验,对很多问题进行了扩展,这也是这个系列命名为“珠玑之椟”的原因。当然,“买椟还珠”是不可取的,这个系列虽然收录了绝大部分有价值的内容,但部分和话题相关但和算法关系不大的有趣内容限于本人时间有限,只好舍掉。建议时间富足的读者尽量阅读原书,并把这个系列的博文当做参考资料。

  出自于《编程珠玑》和《续》原书的算法题和习题有标示。

  本系列博文已经写完,预计1~3天发布一篇,目前(2013.7.8)已发完。

 

索引链接:

  位向量/位图的定义和应用

  估算的应用与Little定律

  随机数函数取样与概率

  浅谈代码正确性:循环不变式、断言、debug

  二分思想与分治法、排序思想

  字符串和数组算法:左移、哈希表、最长重复子序列的后缀数组解法、最大连续子序列

 

原书有但未收录的内容介绍:

1.基础的数据结构

  二分查找树

2.较少使用的数据结构

  箱

3.基本的排序

  插入排序、希尔排序、快速排序

4.堆和优先级队列

  个人更倾向于使用《算法导论》上介绍的版本

5.马尔科夫链文本生成器

  利用马尔科夫链的性质,经过文本训练,能够产生一段自然的随机文本的程序。

  与《程序设计实践》相比,由于使用了更精巧的数据结构,占用空间较少,但也更难理解。

6.以二分查找(第9章)和质数查找(《续》第1章)为例的代码调优

7.位排序算法

  类似strcmp(),可查阅习题11.5

8.拓扑排序

  第2章,伪代码:

initialize a queue to empty

for each node i

  if pre count of i is 0

    insert i to queue

while queue is not empty

  delete t from the front of queue

  print t

  for each successor s of t

    decrement pred count of s

    if the count is 0

    insert s to queue

 《算导》上的拓扑排序比这个略难理解一些,因为它为了说明,引入了结束时间的概念。

9.关联数组

  介绍的是Awk语言的特性,如今的C++里的map容器还有像Python里的字典有类似的作用。

10.以牛顿迭代法为代表的数值分析(《续》




本文转自五岳博客园博客,原文链接:www.cnblogs.com/wuyuegb2312/p/3133492.html,如需转载请自行联系原作者

目录
相关文章
|
移动开发 小程序 JavaScript
uVeiw Parse 富文本解析器
uVeiw Parse 富文本解析器
248 1
|
JavaScript 开发工具 C++
探索 Visual Studio Code:开发者的多功能编辑器
Visual Studio Code(VS Code)是由微软开发的一款免费、开源的轻量级代码编辑器,支持 Windows、Linux 和 macOS。它内置了对多种编程语言的支持,并提供了代码高亮、智能补全、调试和 Git 集成等功能。VS Code 的强大之处还在于其丰富的插件生态系统,通过安装插件可以进一步扩展功能。此外,用户还可以通过定制设置来自定义编辑器的行为和外观,从而提升开发效率。本文将详细介绍 VS Code 的核心特性、推荐插件及定制化设置方法。
|
8月前
|
监控 安全 算法
龙蜥衍生版KeyarchOS国密应用、eBPF安全技术实践介绍|龙蜥大讲堂107期
龙蜥衍生版KeyarchOS国密应用及eBPF安全技术实践介绍。本次分享由浪潮信息的霍文和甄鹏主讲,涵盖全栈国密、国密密钥证书、国密通信等内容,并介绍了基于eBPF技术的新一代零侵入安全防御组件KSecure。通过实际案例展示了敏感信息传输加密、虚拟机热迁移等应用场景,以及如何利用eBPF实现进程注入检测等安全功能。该技术方案有效提升了操作系统的安全性与合规性,为服务器提供了强大的安全保障。
220 12
龙蜥衍生版KeyarchOS国密应用、eBPF安全技术实践介绍|龙蜥大讲堂107期
|
数据采集 SQL DataWorks
DataWorks产品使用合集之如何配置数据质量监控
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
165 0
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之怎么批量导出任务
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
10月前
|
人工智能 移动开发 前端开发
通义灵码使用实践场景、效果和心得。
作为一名H5前端开发学者,我在学习过程中借助通义灵码@workspace大幅提升了效率。通过自动推荐匹配的CSS样式和项目内相似模板的排版建议,减少了重复劳动,效率提高超过一倍。此外,它还能解析并翻译GitHub上的英文.md文件,如成功部署声音合成AI:GPT-SoVITS项目,极大便利了我的学习与开发工作。
352 4
|
缓存 Rust 前端开发
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri2.0环境搭建与项目创建
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri2.0环境搭建与项目创建
1707 0
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能与未来医疗:AI技术在疾病诊断中的应用前景####
本文探讨了人工智能(AI)在现代医疗领域,尤其是疾病诊断方面的应用潜力和前景。随着技术的不断进步,AI正逐渐改变传统医疗模式,提高诊断的准确性和效率。通过分析当前的技术趋势、具体案例以及面临的挑战,本文旨在为读者提供一个全面的视角,理解AI如何塑造未来医疗的面貌。 ####
|
存储 机器学习/深度学习 安全
阿里云服务器价格参考,2000元预算可购买的云服务器配置及价格
2000元左右预算可以买到哪些配置的阿里云服务器?目前阿里云活动中价格在3000元左右的云服务器有22款,其中经济型e实例3款,通用算力型u1实例9款,计算型c7实例1款,通用型g7实例1款,内存型r7实例1款,倚天云服务器6款,本文将为您解读3000元预算目前在阿里云的活动中可购买到的阿里云服务器配置及具体价格。
|
存储 缓存 运维
阿里云数据库 ClickHouse 云原生版产品解析
本文简要概述了开源 ClickHouse 应用行业场景及性能优势,以及业界对于ClickHouse的关注度趋势和使用情况。 详细说明阿里云数据库ClickHouse 云原生版架构和功能特性,分析自建ClickHouse 用户使用过程中遇到的问题,以及如何通过云原生版本解决自建的部分难点问题。最后介绍云原生版本试用申请流程。
3569 1
阿里云数据库 ClickHouse 云原生版产品解析