《编程珠玑(第2版)》【PDF】下载链接:
https://u253469.pipipan.com/fs/253469-230382225

内容简介

书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley
以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。《编程珠玑(第2版)》是计算机科学方面的经典名著。

编辑推荐

《编程珠玑(第2版)》的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。《编程珠玑(第2版)》对各个层次的程序员都具有很高的阅读价值。

作者简介

Jon Bentley,世界著名计算机科学家,被誉为影响算法发展的十位大师之一。他先后任职于卡内基—梅隆大学(1976—1982)、贝尔实验室(1982—2001)和Avaya实验室(2001年至今)。在卡内基—梅隆大学担任教授期间,他培养了包括Tcl语言设计者John
Ousterhout、Java语言设计者James Gosling、《算法导论》作者之一Charles
Leiserson在内的许多计算机科学大家。2004年荣获Dr.Dobb's程序设计卓越奖。

钱丽艳,北京大学信息科学技术学院基础实验教学研究所软件实验室主任、工程师,毕业于国防科技大学。

目录

第一部分 基础

第1章 开篇 3

1.1 一次友好的对话 3

1.2 准确的问题描述 4

1.3 程序设计 4

1.4 实现概要 5

1.5 原理 6

1.6 习题 7

1.7 深入阅读 9

第2章 啊哈! 算法 11

2.1 三个问题 11

2.2 无处不在的二分搜索 12

2.3 基本操作的威力 13

2.4 排序 15

2.5 原理 16

2.6 习题 17

2.7 深入阅读 18

2.8 变位词程序的实现(边栏) 18

第3章 数据决定程序结构 21

3.1 一个调查程序 21

3.2 格式信函编程 23

3.3 一组示例 25

3.4 结构化数据 26

3.5 用于特殊数据的强大工具 27

3.6 原理 28

3.7 习题 29

3.8 深入阅读 30

第4章 编写正确的程序 33

4.1 二分搜索的挑战 33

4.2 编写程序 34

4.3 理解程序 36

4.4 原理 38

4.5 程序验证的角色 39

4.6 习题 40

4.7 深入阅读 42

第5章 编程小事 43

5.1 从伪代码到C程序 43

5.2 测试工具 44

5.3 断言的艺术 46

5.4 自动测试 48

5.5 计时 49

5.6 完整的程序 50

5.7 原理 51

5.8 习题 51

5.9 深入阅读 52

5.10 调试(边栏) 53

第二部分 性能

第6章 程序性能分析 57

6.1 实例研究 57

6.2 设计层面 59

6.3 原理 60

6.4 习题 61

6.5 深入阅读 61

第7章 粗略估算 63

7.1 基本技巧 64

7.2 性能估计 66

7.3 安全系数 68

7.4 Little定律 69

7.5 原理 70

7.6 习题 70

7.7 深入阅读 71

7.8 日常生活中的速算(边栏) 72

第8章 算法设计技术 73

8.1 问题及简单算法 73

8.2 两个平方算法 74

8.3 分治算法 75

8.4 扫描算法 77

8.5 实际运行时间 77

8.6 原理 79

8.7 习题 80

8.8 深入阅读 81

第9章 代码调优 83

9.1 典型的故事 83

9.2 急救方案集锦 84

9.3 大手术——二分搜索 88

9.4 原理 91

9.5 习题 92

9.6 深入阅读 94

第10章 节省空间 95

10.1 关键在于简单 95

10.2 示例问题 96

10.3 数据空间技术 99

10.4 代码空间技术 101

10.5 原理 103

10.6 习题 104

10.7 深入阅读 105

10.8 巨大的节省(边栏) 105

第三部分 应用

第11章 排序 109

11.1 插入排序 109

11.2 一种简单的快速排序 110

11.3 更好的几种快速排序 113

11.4 原理 115

11.5 习题 116

11.6 深入阅读 117

第12章 取样问题 119

12.1 问题 119

12.2 一种解决方案 120

12.3 设计空间 121

12.4 原理 123

12.5 习题 124

12.6 深入阅读 125

第13章 搜索 127

13.1 接口 127

13.2 线性结构 129

13.3 二分搜索树 132

13.4 用于整数的结构 134

13.5 原理 135

13.6 习题 136

13.7 深入阅读 137

13.8 一个实际搜索问题(边栏) 137

第14章 堆 141

14.1 数据结构 141

14.2 两个关键函数 143

14.3 优先级队列 145

14.4 一种排序算法 148

14.5 原理 150

14.6 习题 150

14.7 深入阅读 152

第15章 字符串 153

15.1 单词 153

15.2 短语 156

15.3 生成文本 158

15.4 原理 163

15.5 习题 163

15.6 深入阅读 164

第1版跋 165

第2版跋 167

附录A 算法分类 169

附录B 估算测试 173

附录C 时空开销模型 175

附录D 代码调优法则 181

附录E 用于搜索的C++类 187

部分习题提示 191

部分习题答案 195

索引 221

更多资料请关注我的新浪博客http://blog.sina.com.cn/u/3283485963
《编程珠玑(第2版)》【PDF】下载链接:
https://u253469.pipipan.com/fs/253469-230382225

更多书单和推荐电子书请关注:
http://zhaozhiyong.cn

《编程珠玑(第2版)》【PDF】下载的更多相关文章

  1. 《决战大数据:驾驭未来商业的利器》【PDF】下载

    内容简介 大数据时代的来临,给当今的商业带来了极大的冲击,多数电商人无不"谈大数据色变",并呈现出一种观望.迷茫.手足无措的状态.车品觉,作为一名经验丰富的电商人,在敬畏大数据的同 ...

  2. 大数据时代的图表可视化利器——highcharts,D3和百度的echarts

    大数据时代的图表可视化利器——highcharts,D3和百度的echarts https://blog.csdn.net/minidrupal/article/details/42153941   ...

  3. 决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试

    决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试 [TOC] Apache ZooKeeper 单机模式安装 创建hadoop用户&赋予sudo权限, ...

  4. 决战大数据之二:CentOS 7 最新JDK 8安装

    决战大数据之二:CentOS 7 最新JDK 8安装 [TOC] 修改hostname # hostnamectl set-hostname node1 --static # reboot now 重 ...

  5. 学习推荐《零起点Python大数据与量化交易》中文PDF+源代码

    学习量化交易推荐学习国内关于Python大数据与量化交易的原创图书<零起点Python大数据与量化交易>. 配合zwPython开发平台和zwQuant开源量化软件学习,是一套完整的大数据 ...

  6. asp.net大数据导出execl实现分开压缩并下载

    asp.net大数据导出execl实现分开压缩并下载 /// <summary> /// 导出数据到EXCEL 多个表的 /// </summary> /// <para ...

  7. 基于Greenplum Hadoop分布式平台的大数据解决方案及商业应用案例剖析

    随着云计算.大数据迅速发展,亟需用hadoop解决大数据量高并发访问的瓶颈.谷歌.淘宝.百度.京东等底层都应用hadoop.越来越多的企 业急需引入hadoop技术人才.由于掌握Hadoop技术的开发 ...

  8. 关于大数据时代传统商业存储的思考: 中心存储 VS 分布式存储

    尊重原创,转载请注明出处:http://anzhan.me ; http://blog.csdn.net/anzhsoft 今天和我们部门的老大1*1, 大家面对面沟通了一下到新的项目组的想法.而且也 ...

  9. cloudera cdh6.3 离线安装 经典大数据平台视频教程(含网盘下载地址)

    cdh6.3企业级大数据视频教程 链接:https://pan.baidu.com/s/1bLGrIwzpFQB-pQRb6KOmNg 提取码:i8h8 系统和软件版本1,操作系统:Centos7.6 ...

  10. 大数据之路week06--day01(VMware的下载与安装、安装CentOS)

    好了,从今天开始就开始正式的进入大数据道路的轨道上了,当然了,Java 也是需要不断地在日后进行反复地学习,熟练掌握.(这里我要说一下,Java种还有一些I/O流.Lambda表达式和一些常用工具类有 ...

随机推荐

  1. SQLServer2008数据库连接error40错误

    在连接SQL Server偶尔会遇到报错,如在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为 ...

  2. 一个页面tab标签切换,都有scroll事件的解决办法

    当前页有多个tab,如果都有scroll事件, 先解绑$(window).off('scroll') 再执行scroll就不可以了,多个标签就不会互相干扰: 给你们个例子: //标签切换    $(' ...

  3. c# winform treelistview的使用(treegridview)

    TreeView控件显示的内容比较单一,如果需要呈现更详细信息TreeListView是一个不错的选择. 先看效果: 首先需要引用文件System.Windows.Forms.TreeListView ...

  4. JAVA基础-JDBC二(常用的开源工具)

    一.连接池 在实际的开发应用中,我们常常会对数据库进行大量的高并发的访问,而最原始的连接和操作方式并不能满足这种大量的访问,程序员为了追求更方便.更快捷.更科学安全的开发.第三方的工具类和Dao层的框 ...

  5. mysql--二进制日志(bin-log)三种格式介绍及分析

    一.Mysql binlog日志有三种格式,分别为ROW.Statement以及MiXED.Row LevelBinary Log会记录成[每一行数据被修改的形式],然后在Slave端再对相同的数据进 ...

  6. MySQL之事务的四大特性

    事务就是一组原子性的SQL查询,或者说一个独立的工作单元.如果数据库引擎能够成功地对数据应用该组查询的全部语句,那么久执行该组查询.如果其中任何一条语句因为崩溃或其他原因无法执行,那么所有语句都不会执 ...

  7. PHP防XSS 防SQL注入的代码

    作为开发人员时刻要记住一句话,永远不要相信任何用户的输入!很多时候我们的网站会因为我们开发人员写的代码不够严谨,而使网站受到攻击,造成不必要的损失!下面介绍一下如何防止SQL注入! 这里提供了一个函数 ...

  8. svn搭建文档

    1.制作本地yum源 a)挂载光盘 [root@localhost ~]# mount  /dev/cdrom  /mnt b)删除/etc/yum.repos.d目录所有的repo文件 [root@ ...

  9. FastDFS教程Ⅲ-文件服务器扩容

    1.简介     FastDFS文件服务器在设计时,为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式.存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是 ...

  10. UWP 应用程序内购

    今天来说一下应用程序内购的问题,这里面有坑,给自己做个笔记,也给需要的人提个醒. 我目前的需要是可以允许用户捐赠赞助App的形式内购,最终效果如下 只讲上面的列表部分,下面的就是图片布局啥的,没意思了 ...