《编程珠玑》共读计划:精读计算机科学经典

4星 · 超过85%的资源 需积分: 13 10 下载量 74 浏览量 更新于2024-07-29 1 收藏 1.05MB PDF 举报
《编程珠玑》读书笔记是小C为你精心打造的"小C陪你读经典"系列的一部分,旨在帮助读者深入理解和掌握计算机科学的核心问题,尤其是算法的设计与实现。这本书由世界知名计算机科学家Jon Bentley所著,他在计算机科学领域享有盛誉,被认为是影响算法发展的重要人物之一。他曾供职于卡内基-梅隆大学、贝尔实验室和Avaya实验室,培养了许多计算机科学界的杰出人才。 《编程珠玑》虽只有200页,但内容深奥,讨论的是如何选择和高效实现算法,这对于面试中的编程挑战至关重要。小C自己在一年前对本书进行了初步阅读,但并未完全消化,这次他决定带领大家一起重新学习,通过逐章讲解和解答习题的方式进行,确保每个人都能真正理解和掌握书中精华。 在第一章节"Cracking the Oyster"中,作者以一个程序员提出的关于磁盘文件排序的问题开场,引导读者进入深入学习的氛围。这个章节强调了实际问题的探讨,鼓励读者将理论知识应用到实践中去。小C注意到,虽然人人网可能不是学术研究的理想平台,但他的主页上仍有许多C语言爱好者关注和支持,他们通过各种方式提供反馈,促使小C不断改进他的教学方法。 通过阅读《编程珠玑》,读者不仅能学习到经典的算法思想,还能提升解决问题的能力,这对求职或日常编程工作都非常有帮助。小C的目标是让大家不仅了解书的概况,更要深入理解并能灵活运用书中的算法技巧,因为这正是《编程珠玑》的魅力所在。
2013-07-31 上传
第一部分 编 程 技 术 第1章 性能监视工具 3 1.1 计算素数 3 1.2 使用性能监视工具 7 1.3 一个专用的性能监视工具 8 1.4 开发性能监视工具 10 1.5 原理 11 1.6 习题 11 1.7 深入阅读 12 第2章 关联数组 13 2.1 Awk中的关联数组 13 2.2 有穷状态机模拟器 16 2.3 拓扑排序 17 2.4 原理 20 2.5 习题 21 2.6 深入阅读 22 第3章 程序员的忏悔 23 3.1 二分搜索 24 3.2 选择算法 26 3.3 子程序库 28 3.4 原理 30 3.5 习题 31 第4章 自描述数据 33 4.1 名字—值对 33 4.2 记录来历 36 4.3 排序实验 37 4.4 原理 39 4.5 习题 39 第二部分 实 用 技 巧 第5章 劈开戈尔迪之结 43 5.1 小测验 43 5.2 解答 44 5.3 提示 44 5.4 原理 47 5.5 习题 48 5.6 深入阅读 49 5.7 调试(边栏) 49 第6章 计算机科学箴言集 51 6.1 编码 52 6.2 用户界面 53 6.3 调试 53 6.4 性能 54 6.5 文档 56 6.6 软件管理 56 6.7 其他 58 6.8 原理 58 6.9 习题 58 6.10 深入阅读 60 第7章 粗略估算 61 7.1 头脑热身 61 7.2 性能的经验法则 62 7.3 Little定律 64 7.4 原理 65 7.5 习题 66 7.6 深入阅读 67 7.7 日常速算(边栏) 67 第8章 人员备忘录 69 8.1 备忘录 69 8.2 原理 71 8.3 深入阅读 71 第三部分 人性化I/O 第9章 小语言 75 9.1 Pic语言 76 9.2 视角 79 9.3 Pic预处理器 81 9.4 用来实现Pic的小语言 83 9.5 原理 87 9.6 习题 88 9.7 深入阅读 89 第10章 文档设计 91 10.1 表格 92 10.2 三条设计原则 94 10.3 插图 94 10.4 文本 96 10.5 合适的媒介 98 10.6 原理 100 10.7 习题 101 10.8 深入阅读 101 10.9 次要问题目录(边栏) 101 第11章 图形化输出 103 11.1 实例研究 103 11.2 显示结果取样 105 11.3 原理 107 11.4 习题 108 11.5 深入阅读 110 11.6 拿破仑远征莫斯科(边栏) 110 第12章 对调查的研究 113 12.1 有关民意调查的问题 113 12.2 语言 114 12.3 图片 117 12.4 原理 119 12.5 习题 120 第四部分 算 法 第13章 绝妙的取样 123 13.1 取样算法一瞥 123 13.2 Floyd算法 124 13.3 随机排列 125 13.4 原理 127 13.5 习题 127 13.6 深入阅读 128 第14章 编写数值计算程序 129 14.1 问题 129 14.2 牛顿迭代 130 14.3 良好的起点 132 14.4 代码 133 14.5 原理 135 14.6 习题 135 14.7 深入阅读 137 14.8 数值算法的力量(边栏) 137 第15章 选择 141 15.1 问题 141 15.2 程序 142 15.3 运行时间分析 145 15.4 原理 148 15.5 习题 149 15.6 深入阅读 151 附录A C和Awk语言 153 附录B 一个子程序库 157 部分习题答案 165 索引 181