第1章 程序设计的元素 1
1.1第一个程序 1
Java程序设计 2
输入与输出 5
问题与回答(Q&A) 6
练习 8
1.2内置数据类型 8
定义 9
字符和字符串 12
整数 14
浮点数 16
布尔型 17
比较 18
库方法和API 20
类型转换 22
小结 24
问题与回答(Q&A) 25
练习 27
创新练习 29
1.3条件与循环 31
if语句 32
while循环 34
for循环 38
嵌套 40
应用 42
其他条件和循环结构 49
死循环 51
小结 52
问题与回答(Q&A) 53
练习 55
创新练习 58
1.4数组 61
在Java中的数组 61
优惠券收购 69
Eratosthenes的素数筛选 71
二维数组 73
示例:自回避随机行走 77
小结 80
问题与回答(Q&A) 80
练习 81
创新练习 83
1.5输入与输出 86
鸟瞰功能 86
标准输出 88
标准输入 90
重定向和管道 94
标准图画 97
标准音频 105
问题与回答(Q&A) 109
练习 110
创新练习 113
1.6案例研究:随机Web冲浪 115
输入格式 116
过渡矩阵 116
模拟 117
混合马尔可夫链 121
经验 125
练习 126
创新练习 127
第2章 函数与模块 129
2.1静态方法 129
使用和定义静态方法 130
静态方法的属性 133
实现数学函数 137
使用静态方法组织代码 139
用数组实现静态方法 140
示例:声波的叠加 143
问题与回答(Q&A) 147
练习 148
创新练习 150
2.2库和客户端 153
使用在其他程序中的静态方法 154
库 156
随机数 158
数组的输入和输出 161
迭代函数系 163
标准统计 167
模块化程序设计 172
问题与回答(Q&A) 174
练习 175
创新练习 177
2.3递归 179
第一个递归程序 179
数学归纳法 181
欧几里得算法 183
汉诺塔 183
函数调用树 185
指数时间 186
格雷码 187
递归图形 189
布朗桥 191
递归易犯的错误 193
观点 195
问题与回答(Q&A) 195
练习 196
创新练习 197
2.4案例研究:渗滤 200
渗滤 201
基本支架 202
垂直渗滤 204
测试 205
估计概率 208
渗滤的递归解决方案 209
自适应画图 211
经验 215
问题与回答(Q&A) 216
练习 217
创新练习 218
第3章 面向对象程序设计 221
3.1数据类型 221
基本定义 222
颜色 227
数字图像处理 231
字符串处理 238
字符串处理应用:基因组学 241
输入和输出修订 243
引用类型属性 249
问题与回答(Q&A) 254
练习 256
创新练习 258
3.2创建数据类型 262
数据类型的基本元素 262
秒表 266
直方图 268
海龟作图 270
复数 275
Mandelbrot集 279
商务数据处理 282
问题与回答(Q&A) 285
练习 287
创新练习 290
3.3设计数据类型 294
设计 API 294
封装 296
不变性 301
示例:空间向量 303
继承 306
应用:数据挖掘 310
契约式设计 315
问题与回答(Q&A) 316
练习 318
数据类型设计练习 319
创新练习 320
3.4案例研究:N体模拟 321
N体模拟 322
问题与回答(Q&A) 328
练习 329
创新练习 329
第4章 算法与数据结构 331
4.1性能 331
观测 332
假说 334
增长阶分类 338
预测 340
防止误解的说明 342
性能保证 343
内存 344
观点 348
问题与回答(Q&A) 349
练习 351
创新练习 355
4.2排序与搜索 357
二分查找 358
插入排序 364
归并排序 370
应用:频率计数 374
应用:最长的重复子串 377
经验 381
问题与回答(Q&A) 382
练习 383
创新练习 384
4.3堆栈与队列 386
后进先出栈 387
数组实现 388
链表 390
参数化数据类型 398
堆栈的应用 402
FIFO队列 405
队列应用 411
可迭代的集合 413
资源分配 416
问题与回答(Q&A) 419
练习 421
链表练习 423
创新练习 424
4.4符号表 428
API 428
符号表客户端 430
符号表实现 435
二叉搜索树 436
BST的性能特性 440
BST树遍历 443
扩展符号表操作 445
集合数据类型 446
观点 447
问题与回答(Q&A) 448
练习 448
二叉树练习 450
创新练习 451
4.5案例研究:小世界 456
图 456
图数据类型 459
图客户端示例 462
图的最短路径 465
小世界图 473
经验 478
问题与回答(Q&A) 480
练习 481
创新练习 483
后记 487