《程序设计导论》罗伯特·塞奇威克 (Robert Sedgewick) | PDF下载|ePub下载
类别: 计算机
作者:
罗伯特·塞奇威克 (Robert Sedgewick)
/
凯文·书恩 (Kevin Wayne)
/
罗伯特·唐德罗 (Robert Dondero)
出版社: 机械工业出版社
副标题: Python语言实践
原作名: Introduction to Programming in Python: An Interdisciplinary Approach
译者: 江红 / 余青松
出版年: 2016-11-14
页数: 535
定价: CNY 79.00
装帧: 平装
丛书: 计算机科学丛书
ISBN: 9787111549246
出版社: 机械工业出版社
副标题: Python语言实践
原作名: Introduction to Programming in Python: An Interdisciplinary Approach
译者: 江红 / 余青松
出版年: 2016-11-14
页数: 535
定价: CNY 79.00
装帧: 平装
丛书: 计算机科学丛书
ISBN: 9787111549246
内容简介 · · · · · ·
该书从可访问的和跨学科的角度入手,强调应用,介绍Python的最有用的功能,编程的基本要素、功能、模块、面向对象编程和数据抽象对象、算法与数据结构,融汇了作者丰富的课堂教学经验,提供了大量源代码、I/O库和精选实例。适合作为计算机专业的学生作为编程语言的教材。
· · · · · ·
作者简介 · · · · · ·
罗伯特·塞奇威克(Robert Sedgewick),斯坦福大学博士,导师为Donald E.Knuth,从1985年开始一直担任普林斯顿大学计算机科学系教授,曾任系主任,也是Adobe Systems公司董事会成员,曾在Xerox PARC、国防分析研究所和法国国家信息与电话研究所(INRIA)从事研究工作。他的研究方向包括数据结构和算法的分析与设计、程序可视化等。他同时也是《Java程序设计和算法(第4版)》的作者之一(另一个作者是Kevin Wayne)。
凯文·韦恩(Kevin Wayne),康奈尔大学博士,普林斯顿大学计算机科学系高级讲师。他自1998年开始任教于普林斯顿大学,研究方向包括算法的设计、分析和实现,特别是图和离散化。他是ACM杰出教育家。
罗伯特·唐德罗(Robert Dondero),德雷塞尔大学博士,普林斯顿大学计算机科学系讲师。他自2001年开始任教于普林斯顿大学,曾获得8个杰出工程教育奖和一个终身成就奖。
目录 · · · · · ·
出版者的话
译者序
前言
第1章 程序设计的基本元素 1
1.1 你的第一个程序 1
1.1.1 Python程序设计 2
1.1.2 输入和输出 4
1.1.3 问题和解答 5
1.1.4 习题 8
1.2 内置数据类型 8
1.2.1 相关术语 9
1.2.2 字符串 14
1.2.3 整数 16
1.2.4 浮点数 18
1.2.5 布尔值 20
1.2.6 比较 22
1.2.7 函数和API 24
1.2.8 数据类型转换 26
1.2.9 小结 28
1.2.10 问题和解答(字符串) 28
1.2.11 问题和解答(整数) 30
1.2.12 问题和解答(浮点数) 31
1.2.13 问题和解答 32
1.2.14 习题 34
1.2.15 创新习题 35
1.3 选择结构和循环结构 37
1.3.1 if语句 38
1.3.2 else子句 39
1.3.3 while语句 40
1.3.4 for语句 44
1.3.5 语句嵌套 46
1.3.6 应用实例 48
1.3.7 循环和中断 55
1.3.8 死循环 56
1.3.9 小结 57
1.3.10 问题和解答 58
1.3.11 习题 60
1.3.12 创新习题 63
1.4 数组 65
1.4.1 Python中的数组 66
1.4.2 数组别名和拷贝 70
1.4.3 Python对数组操作提供的系统支持 71
1.4.4 一维数组应用实例 73
1.4.5 二维数组 80
1.4.6 二维数组应用实例:自回避随机行走 84
1.4.7 小结 87
1.4.8 问题和解答(字符串) 87
1.4.9 习题 88
1.4.10 创新习题 89
1.5 输入和输出 92
1.5.1 鸟瞰图 93
1.5.2 标准输出 95
1.5.3 标准输入 97
1.5.4 重定向和管道 100
1.5.5 标准绘图 104
1.5.6 动画 111
1.5.7 标准音频 113
1.5.8 小结 115
1.5.9 问题和解答 116
1.5.10 习题 118
1.5.11 创新习题 121
1.6 应用案例:随机Web冲浪模型 123
1.6.1 输入格式 124
1.6.2 转换矩阵 125
1.6.3 模拟 126
1.6.4 混合马尔可夫链 130
1.6.5 经验总结 134
1.6.6 习题 135
1.6.7 创新习题 136
第2章 函数和模块 137
2.1 定义函数 137
2.1.1 调用和定义函数 138
2.1.2 实现数学函数 145
2.1.3 使用函数组织代码 147
2.1.4 传递参数和返回值 149
2.1.5 实例:声波的叠加 152
2.1.6 问题和解答 156
2.1.7 习题 158
2.1.8 创新习题 160
2.2 模块和客户端 163
2.2.1 使用其他程序中的函数 164
2.2.2 模块化程序设计的抽象概念 168
2.2.3 随机数 172
2.2.4 数组处理API 174
2.2.5 迭代函数系统 176
2.2.6 标准统计 179
2.2.7 模块化程序设计 184
2.2.8 问题和解答 186
2.2.9 习题 188
2.2.10 创新习题 189
2.3 递归 191
2.3.1 你的第一个递归程序 192
2.3.2 数学归纳法 194
2.3.3 欧几里得算法 194
2.3.4 汉诺塔 195
2.3.5 函数调用树 196
2.3.6 指数时间 198
2.3.7 格雷码 199
2.3.8 递归图形 200
2.3.9 布朗桥 202
2.3.10 递归的陷阱 205
2.3.11 展望 207
2.3.12 问题和解答 207
2.3.13 习题 208
2.3.14 创新习题 209
2.4 案例研究:渗透原理 212
2.4.1 渗透原理 213
2.4.2 基本脚手架代码 214
2.4.3 垂直渗透 215
2.4.4 测试 217
2.4.5 估计概率 220
2.4.6 渗透原理的递归解决方案 221
2.4.7 自适应绘制图形 224
2.4.8 经验总结 227
2.4.9 问题和解答(字符串) 228
2.4.10 习题 229
2.4.11 创新习题 230
第3章 面向对象的程序设计 232
3.1 使用数据类型 232
3.1.1 方法 233
3.1.2 字符串处理 234
3.1.3 字符串处理应用:基因组学 237
3.1.4 用户自定义数据类型 237
3.1.5 颜色 242
3.1.6 数字图像处理 244
3.1.7 输入和输出(进一步讨论) 252
3.1.8 内存管理 257
3.1.9 问题和解答 258
3.1.10 习题 259
3.1.11 创新习题 261
3.2 创建数据类型 264
3.2.1 数据类型的基本元素 264
3.2.2 秒表 270
3.2.3 直方图 272
3.2.4 海龟绘图 273
3.2.5 递归图形 276
3.2.6 复数 280
3.2.7 曼德布洛特集合 281
3.2.8 商业数据处理 285
3.2.9 问题和解答 288
3.2.10 习题 290
3.2.11 创新习题 293
3.3 设计数据类型 296
3.3.1 设计API 297
3.3.2 封装 299
3.3.3 不可变性 303
3.3.4 实例:空间向量 305
3.3.5 元组 308
3.3.6 多态性 309
3.3.7 重载 310
3.3.8 函数是对象 315
3.3.9 继承 315
3.3.10 应用:数据挖掘 316
3.3.11 契约式设计 321
3.3.12 问题和解答 322
3.3.13 习题 323
3.3.14 数据类型设计习题 324
3.3.15 创新习题 325
3.4 案例研究:多体模拟 325
3.4.1 多体模拟 326
3.4.2 问题和解答 332
3.4.3 习题 333
3.4.4 创新习题 333
第4章 算法和数据结构 334
4.1 性能 334
4.1.1 观察 335
4.1.2 假说 335
4.1.3 增长量级分类 340
4.1.4 预测 343
4.1.5 注意事项 345
4.1.6 性能保证 346
4.1.7 Python列表和数组 347
4.1.8 字符串 349
4.1.9 内存 351
4.1.10 展望 354
4.1.11 问题和解答 355
4.1.12 习题 357
4.1.13 创新习题 361
4.2 排序和查找 363
4.2.1 二分查找法 363
4.2.2 插入排序算法 369
4.2.3 归并排序算法 374
4.2.4 Python系统排序方法 377
4.2.5 应用:频率计数 378
4.2.6 经验总结 380
4.2.7 问题和解答 381
4.2.8 习题 382
4.2.9 创新习题 383
4.3 栈和队列 385
4.3.1 下堆栈(后进先出栈) 386
4.3.2 基于Python列表(可变数组)实现栈 387
4.3.3 基于链表实现栈 389
4.3.4 堆栈的应用 394
4.3.5 FIFO队列 398
4.3.6 队列的应用 402
4.3.7 资源分配 404
4.3.8 问题和解答 406
4.3.9 习题 407
4.3.10 链表习题 409
4.3.11 创新习题 411
4.4 符号表 415
4.4.1 符号表API 415
4.4.2 符号表客户端 417
4.4.3 基本符号表实现 422
4.4.4 哈希表 424
4.4.5 二叉搜索树 426
4.4.6 BST的性能特点 432
4.4.7 BST的遍历 434
4.4.8 可迭代对象 434
4.4.9 有序符号表操作 436
4.4.10 字典数据类型 437
4.4.11 集合数据类型 437
4.4.12 展望 438
4.4.13 问题和解答 439
4.4.14 习题 439
4.4.15 二叉树习题 442
4.4.16 创新习题 444
4.5 案例研究:小世界现象 447
4.5.1 图 448
4.5.2 图数据类型 451
4.5.3 Graph客户端例子 454
4.5.4 图的最短路径 457
4.5.5 小世界图 464
4.5.6 经验总结 470
4.5.7 问题和解答 471
4.5.8 习题 471
4.5.9 创新习题 473
后记 477
词汇表 479
索引 482
应用程序编程接口 512
· · · · · ·
译者序
前言
第1章 程序设计的基本元素 1
1.1 你的第一个程序 1
1.1.1 Python程序设计 2
1.1.2 输入和输出 4
1.1.3 问题和解答 5
1.1.4 习题 8
1.2 内置数据类型 8
1.2.1 相关术语 9
1.2.2 字符串 14
1.2.3 整数 16
1.2.4 浮点数 18
1.2.5 布尔值 20
1.2.6 比较 22
1.2.7 函数和API 24
1.2.8 数据类型转换 26
1.2.9 小结 28
1.2.10 问题和解答(字符串) 28
1.2.11 问题和解答(整数) 30
1.2.12 问题和解答(浮点数) 31
1.2.13 问题和解答 32
1.2.14 习题 34
1.2.15 创新习题 35
1.3 选择结构和循环结构 37
1.3.1 if语句 38
1.3.2 else子句 39
1.3.3 while语句 40
1.3.4 for语句 44
1.3.5 语句嵌套 46
1.3.6 应用实例 48
1.3.7 循环和中断 55
1.3.8 死循环 56
1.3.9 小结 57
1.3.10 问题和解答 58
1.3.11 习题 60
1.3.12 创新习题 63
1.4 数组 65
1.4.1 Python中的数组 66
1.4.2 数组别名和拷贝 70
1.4.3 Python对数组操作提供的系统支持 71
1.4.4 一维数组应用实例 73
1.4.5 二维数组 80
1.4.6 二维数组应用实例:自回避随机行走 84
1.4.7 小结 87
1.4.8 问题和解答(字符串) 87
1.4.9 习题 88
1.4.10 创新习题 89
1.5 输入和输出 92
1.5.1 鸟瞰图 93
1.5.2 标准输出 95
1.5.3 标准输入 97
1.5.4 重定向和管道 100
1.5.5 标准绘图 104
1.5.6 动画 111
1.5.7 标准音频 113
1.5.8 小结 115
1.5.9 问题和解答 116
1.5.10 习题 118
1.5.11 创新习题 121
1.6 应用案例:随机Web冲浪模型 123
1.6.1 输入格式 124
1.6.2 转换矩阵 125
1.6.3 模拟 126
1.6.4 混合马尔可夫链 130
1.6.5 经验总结 134
1.6.6 习题 135
1.6.7 创新习题 136
第2章 函数和模块 137
2.1 定义函数 137
2.1.1 调用和定义函数 138
2.1.2 实现数学函数 145
2.1.3 使用函数组织代码 147
2.1.4 传递参数和返回值 149
2.1.5 实例:声波的叠加 152
2.1.6 问题和解答 156
2.1.7 习题 158
2.1.8 创新习题 160
2.2 模块和客户端 163
2.2.1 使用其他程序中的函数 164
2.2.2 模块化程序设计的抽象概念 168
2.2.3 随机数 172
2.2.4 数组处理API 174
2.2.5 迭代函数系统 176
2.2.6 标准统计 179
2.2.7 模块化程序设计 184
2.2.8 问题和解答 186
2.2.9 习题 188
2.2.10 创新习题 189
2.3 递归 191
2.3.1 你的第一个递归程序 192
2.3.2 数学归纳法 194
2.3.3 欧几里得算法 194
2.3.4 汉诺塔 195
2.3.5 函数调用树 196
2.3.6 指数时间 198
2.3.7 格雷码 199
2.3.8 递归图形 200
2.3.9 布朗桥 202
2.3.10 递归的陷阱 205
2.3.11 展望 207
2.3.12 问题和解答 207
2.3.13 习题 208
2.3.14 创新习题 209
2.4 案例研究:渗透原理 212
2.4.1 渗透原理 213
2.4.2 基本脚手架代码 214
2.4.3 垂直渗透 215
2.4.4 测试 217
2.4.5 估计概率 220
2.4.6 渗透原理的递归解决方案 221
2.4.7 自适应绘制图形 224
2.4.8 经验总结 227
2.4.9 问题和解答(字符串) 228
2.4.10 习题 229
2.4.11 创新习题 230
第3章 面向对象的程序设计 232
3.1 使用数据类型 232
3.1.1 方法 233
3.1.2 字符串处理 234
3.1.3 字符串处理应用:基因组学 237
3.1.4 用户自定义数据类型 237
3.1.5 颜色 242
3.1.6 数字图像处理 244
3.1.7 输入和输出(进一步讨论) 252
3.1.8 内存管理 257
3.1.9 问题和解答 258
3.1.10 习题 259
3.1.11 创新习题 261
3.2 创建数据类型 264
3.2.1 数据类型的基本元素 264
3.2.2 秒表 270
3.2.3 直方图 272
3.2.4 海龟绘图 273
3.2.5 递归图形 276
3.2.6 复数 280
3.2.7 曼德布洛特集合 281
3.2.8 商业数据处理 285
3.2.9 问题和解答 288
3.2.10 习题 290
3.2.11 创新习题 293
3.3 设计数据类型 296
3.3.1 设计API 297
3.3.2 封装 299
3.3.3 不可变性 303
3.3.4 实例:空间向量 305
3.3.5 元组 308
3.3.6 多态性 309
3.3.7 重载 310
3.3.8 函数是对象 315
3.3.9 继承 315
3.3.10 应用:数据挖掘 316
3.3.11 契约式设计 321
3.3.12 问题和解答 322
3.3.13 习题 323
3.3.14 数据类型设计习题 324
3.3.15 创新习题 325
3.4 案例研究:多体模拟 325
3.4.1 多体模拟 326
3.4.2 问题和解答 332
3.4.3 习题 333
3.4.4 创新习题 333
第4章 算法和数据结构 334
4.1 性能 334
4.1.1 观察 335
4.1.2 假说 335
4.1.3 增长量级分类 340
4.1.4 预测 343
4.1.5 注意事项 345
4.1.6 性能保证 346
4.1.7 Python列表和数组 347
4.1.8 字符串 349
4.1.9 内存 351
4.1.10 展望 354
4.1.11 问题和解答 355
4.1.12 习题 357
4.1.13 创新习题 361
4.2 排序和查找 363
4.2.1 二分查找法 363
4.2.2 插入排序算法 369
4.2.3 归并排序算法 374
4.2.4 Python系统排序方法 377
4.2.5 应用:频率计数 378
4.2.6 经验总结 380
4.2.7 问题和解答 381
4.2.8 习题 382
4.2.9 创新习题 383
4.3 栈和队列 385
4.3.1 下堆栈(后进先出栈) 386
4.3.2 基于Python列表(可变数组)实现栈 387
4.3.3 基于链表实现栈 389
4.3.4 堆栈的应用 394
4.3.5 FIFO队列 398
4.3.6 队列的应用 402
4.3.7 资源分配 404
4.3.8 问题和解答 406
4.3.9 习题 407
4.3.10 链表习题 409
4.3.11 创新习题 411
4.4 符号表 415
4.4.1 符号表API 415
4.4.2 符号表客户端 417
4.4.3 基本符号表实现 422
4.4.4 哈希表 424
4.4.5 二叉搜索树 426
4.4.6 BST的性能特点 432
4.4.7 BST的遍历 434
4.4.8 可迭代对象 434
4.4.9 有序符号表操作 436
4.4.10 字典数据类型 437
4.4.11 集合数据类型 437
4.4.12 展望 438
4.4.13 问题和解答 439
4.4.14 习题 439
4.4.15 二叉树习题 442
4.4.16 创新习题 444
4.5 案例研究:小世界现象 447
4.5.1 图 448
4.5.2 图数据类型 451
4.5.3 Graph客户端例子 454
4.5.4 图的最短路径 457
4.5.5 小世界图 464
4.5.6 经验总结 470
4.5.7 问题和解答 471
4.5.8 习题 471
4.5.9 创新习题 473
后记 477
词汇表 479
索引 482
应用程序编程接口 512
· · · · · ·
发表回复
要发表评论,您必须先登录。