JAVA编程思想+算法导论 PDF 高清电子书 免费下载 完整版 在线阅读- 高飞网
JAVA编程思想+算法导论

JAVA编程思想+算法导论

埃克尔
Java
浏览人数:96 在读人数:2
读者:    
  《算法导论(原书第3版)》内容简介:
  在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。《算法导论(原书第3版)》将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。
  《算法导论(原书第3版)》全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,本书也是一本案头必备的参考书或工程实践手册。
  第3版的主要变化:
  ·新增了van Emde Boas树和多线程算法,并且将矩阵基础移至附录。
  ·修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。
  ·移除两章很少讲授的内容:二项堆和排序网络。
  ·修订了动态规划和贪心算法相关内容。
  ·流网络相关材料现在基于边上的全部流。
  ·由于关于矩阵基础和Strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。
  ·修改了对Knuth-Morris-Pratt字符串匹配算法的讨论。
  ·新增100道练习和28道思考题,还更新并补充了参考文献。  
  《Java编程思想(第4版)》内容简介:
  本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到极高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。
  从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Java I/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的教材和参考书。
  第4版特点:
  适合初学者与专业人员的经典的面向对象叙述方式,为更新的Java SE5/6增加了新的示例和章节。
  测验框架显示程序输出。
  设计模式贯穿于众多示例中:适配器、桥接器、职责链、命令、装饰器、外观、工厂方法、享元、点名、数据传输对象、空对象、代理、单例、状态、策略、模板方法以及访问者。
  为数据传输引入了XML,为用户界面引入了SWT和Flash。
  重新撰写了有关并发的章节,有助于读者掌握线程的相关知识。
  专门为第4版以及Java SE5/6重写了700多个编译文件中的500多个程序。
  支持网站包含了所有源代码、带注解的解决方案指南、网络日志以及多媒体学习资料。
  覆盖了所有基础知识,同时论述了高级特性。
  详细地阐述了面向对象原理。
  在线可获得Java讲座CD,其中包含Bruce Eckel的全部多媒体讲座。
  在网站上可以观看现场讲座、咨询和评论。
  专门为第4版以及Java SE5/6重写了700多个编译文件中的500多个程序。
  支持网站包含了所有源代码、带注解的解决方案指南、网络日志以及多媒体学习资料。
  覆盖了所有基础知识,同时论述了高级特性。
  详细地阐述了面向对象原理。
  在线可获得Java讲座CD,其中包含Bruce Eckel的全部多媒体讲座。
  在t网站上可以观看现场讲座、咨询和评论。

《算法导论(原书第3版)》目录:   
出版者的话   
译者序   
第一部分 基础知识   
第1章 算法在计算中的作用   
1.1 算法   
1.2 作为一种技术的算法   
第2章 算法基础   
2.1 插入排序   
2.2 分析算法   
2.3 设计算法   
第3章 函数的增长   
3.1 渐近记号   
3.2 标准记号与常用函数   
第4章 分治策略   
4.1 最大子数组问题   
4.2 矩阵乘法的Strassen算法   
4.3 用代入法求解递归式   
4.4 用递归树方法求解递归式   
4.5 用主方法求解递归式   
4.6 证明主定理   
第5章 概率分析和随机算法   
5.1 雇用问题   
5.2 指示器随机变量   
5.3 随机算法   
5.4 概率分析和指示器随机变量的进一步使用   
第二部分 排序和顺序统计量   
第6章 堆排序   
6.1 堆   
6.2 维护堆的性质   
6.3 建堆   
6.4 堆排序算法   
6.5 优先队列   
第7章 快速排序   
7.1 快速排序的描述   
7.2 快速排序的性能   
7.3 快速排序的随机化版本   
7.4 快速排序分析   
第8章 线性时间排序   
8.1 排序算法的下界   
8.2 计数排序   
8.3 基数排序   
8.4 桶排序   
第9章 中位数和顺序统计量   
9.1 最小值和最大值   
9.2 期望为线性时间的选择算法   
9.3 最坏情况为线性时间的选择算法   
第三部分 数据结构   
第10章 基本数据结构   
10.1 栈和队列   
10.2 链表   
10.3 指针和对象的实现   
10.4 有根树的表示   
第11章 散列表   
11.1 直接寻址表   
11.2 散列表   
11.3 散列函数   
11.4 开放寻址法   
11.5 完全散列   
第12章 二叉搜索树   
12.1 什么是二叉搜索树   
12.2 查询二叉搜索树   
12.3 插入和删除   
12.4 随机构建二叉搜索树   
第13章 红黑树   
13.1 红黑树的性质   
13.2 旋转   
13.3 插入   
13.4 删除   
第14章 数据结构的扩张   
14.1 动态顺序统计   
14.2 如何扩张数据结构   
14.3 区间树   
第四部分 高级设计和分析技术   
第15章 动态规划   
15.1 钢条切割   
15.2 矩阵链乘法   
15.3 动态规划原理   
15.4 最长公共子序列   
15.5 最优二叉搜索树   
第16章 贪心算法   
16.1 活动选择问题   
16.2 贪心算法原理   
16.3 赫夫曼编码   
16.4 拟阵和贪心算法   
16.5 用拟阵求解任务调度问题   
第17章 摊还分析   
17.1 聚合分析   
17.2 核算法   
17.3 势能法   
17.4 动态表   
第五部分 高级数据结构   
第18章 B树   
18.1 B树的定义   
18.2 B树上的基本操作   
18.3 从B树中删除关键字   
第19章 斐波那契堆   
19.1 斐波那契堆结构   
19.2 可合并堆操作   
19.3 关键字减值和删除一个结点   
19.4 最大度数的界   
第20章 van Emde Boas树   
20.1 基本方法   
20.2 递归结构   
20.3 van Emde Boas树及其操作   
第21章 用于不相交集合的数据结构   
21.1 不相交集合的操作   
21.2 不相交集合的链表表示   
21.3 不相交集合森林   
*21.4 带路径压缩的按秩合并的分析   
第六部分 图算法   
第22章 基本的图算法   
22.1 图的表示   
22.2 广度优先搜索   
22.3 深度优先搜索   
22.4 拓扑排序   
22.5 强连通分量   
第23章 最小生成树   
23.1 最小生成树的形成   
23.2 Kruskal算法和Prim算法   
第24章 单源最短路径   
24.1 Bellman-Ford算法   
24.2 有向无环图中的单源最短路径问题   
24.3 Dijkstra算法   
24.4 差分约束和最短路径   
24.5 最短路径性质的证明   
第25章 所有结点对的最短路径问题   
25.1 最短路径和矩阵乘法   
25.2 Floyd?Warshall算法   
25.3 用于稀疏图的Johnson算法   
第26章 最大流   
26.1 流网络   
26.2 Ford\\Fulkerson方法   
26.3 最大二分匹配   
26.4 推送重贴标签算法   
26.5 前置重贴标签算法   
第七部分 算法问题选编   
第27章 多线程算法   
27.1 动态多线程基础   
27.2 多线程矩阵乘法   
27.3 多线程归并排序   
第28章 矩阵运算   
28.1 求解线性方程组   
28.2 矩阵求逆   
28.3 对称正定矩阵和最小二乘逼近   
第29章 线性规划   
29.1 标准型和松弛型   
29.2 将问题表达为线性规划   
29.3 单纯形算法   
29.4 对偶性   
29.5 初始基本可行解   
第30章 多项式与快速傅里叶变换   
30.1 多项式的表示   
30.2 DFT与FFT   
30.3 高效FFT实现   
第31章 数论算法   
31.1 基础数论概念   
31.2 最大公约数   
31.3 模运算   
31.4 求解模线性方程   
31.5 中国余数定理   
31.6 元素的幂   
31.7 RSA公钥加密系统   
31.8 素数的测试   
31.9 整数的因子分解   
第32章 字符串匹配   
32.1 朴素字符串匹配算法   
32.2 Rabin\\Karp算法   
32.3 利用有限自动机进行字符串匹配   
32.4 Knuth-Morris-Pratt算法   
第33章 计算几何学   
33.1 线段的性质   
33.2 确定任意一对线段是否相交   
33.3 寻找凸包   
33.4 寻找最近点对   
第34章 NP完全性   
34.1 多项式时间   
34.2 多项式时间的验证   
34.3 NP完全性与可归约性   
34.4 NP完全性的证明   
34.5 NP完全问题   
第35章 近似算法   
35.1 顶点覆盖问题   
35.2 旅行商问题   
35.3 集合覆盖问题   
35.4 随机化和线性规划   
35.5 子集和问题   
第八部分 附录:数学基础知识   
附录A 求和   
A.1 求和公式及其性质   
A.2 确定求和时间的界   
附录B 集合等离散数学内容   
B.1 集合   
B.2 关系   
B.3 函数   
B.4 图   
B.5 树   
B.5.1 自由树   
B.5.2 有根树和有序树   
B.5.3 二叉树和位置树   
附录C 计数与概率   
C.1 计数   
C.2 概率   
C.3 离散随机变量   
C.4 几何分布与二项分布   
*C.5 二项分布的尾部   
附录D 矩阵   
D.1 矩阵与矩阵运算   
D.2 矩阵基本性质   
参考文献   
《Java编程思想(第4版)》目录:   
读者评论   
简介   
第1章 对象导论   
1.1 抽象过程   
1.2 每个对象都有一个接口   
1.3 每个对象都提供服务   
1.4 被隐藏的具体实现   
1.5 复用具体实现   
1.6 继承   
1.7 伴随多态的可互换对象   
1.8 单根继承结构   
1.9 容器   
1.10 对象的创建和生命期   
1.11 异常处理:处理错误   
1.12 并发编程   
1.13 Java与Internet   
1.22 总结   
第2章 一切都是对象   
2.1 用引用操纵对象   
2.2 必须由你创建所有对象   
2.3 永远不需要销毁对象   
2.4 创建新的数据类型:类   
2.5 方法、参数和返回值   
2.6 构建一个Java程序   
2.7 你的第一个Java程序   
编译和运行   
2.8 注释和嵌入式文档   
2.9 编码风格   
2.10 总结   
2.11 练习   
第3章 操作符   
3.1 更简单的打印语句   
3.2 使用Java操作符   
3.3 优先级   
3.4 赋值   
3.5 算术操作符   
3.6 自动递增和递减   
3.7 关系操作符   
3.8 逻辑操作符   
3.9 直接常量   
3.10 按位操作符   
3.11 移位操作符   
3.12 三元操作符 if-else   
3.13 字符串操作符 + 和 +=   
3.14 使用操作符时常犯的错误   
3.15 类型转换操作符   
3.16 Java没有“sizeof”   
3.17 操作符小结   
3.18 总结   
第4章 控制执行流程   
4.1 true和false   
4.2 if-else   
4.3 迭代   
4.4 Foreach语法   
4.5 return   
4.6 break和 continue   
4.7 臭名昭著的“goto”   
4.8 switch   
4.9 总结   
第5章 初始化与清理   
5.1 用构造器确保初始化   
5.2 方法重载   
5.3 缺省构造器   
5.4 this关键字   
5.5 清理:终结处理和垃圾回收   
5.6 成员初始化   
5.7 构造器初始化   
5.8 数组初始化   
5.9 枚举类型   
5.10 总结   
第6章 访问权限控制   
第7章 复用类   
第8章 多态   
第9章 接口   
第10章 内部类    1
第11章 持有对象   
第12章 通过异常处理错误   
第13章 字符串   
第14章 类型信息   
第15章 泛型   
第16章 数组   
第17章 容器深入研究   
第18章 Java I/O系统   
第19章 枚举类型   
第20章 注解   
第21章 并发   
第22章 图形化用户界面   
附录A 补充材料   
可下载的补充材料   
Thinking in C:Java的基础   
Java编程思想 研讨课   
Hands-on Java研讨课CD   
Thinking in Objects研讨课   
Thinking in Enterprise Java   
Thinking in Patterns(with Java)   
Thinking in Patterns研讨课   
设计咨询与复审   
附录B 资源   
软件   
编辑器与IDE   
书籍   
分析与设计   
Python   
我的著作列表   
看过本书的人还看过