图书介绍

程序设计与算法 Java语言版PDF|Epub|txt|kindle电子书版本网盘下载

程序设计与算法 Java语言版
  • (美)尼尔森著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302272441
  • 出版时间:2012
  • 标注页数:247页
  • 文件大小:110MB
  • 文件页数:262页
  • 主题词:JAVA语言-程序设计;算法语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

程序设计与算法 Java语言版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1部分 入门3

第1章 表达式、变量和赋值3

1.1简介3

1.2我的第一个Java程序3

1.2.1一个最简单的程序3

1.2.2 Hello World4

1.3用作计算器的表达式和程序5

1.3.1算术运算和优先级次序6

1.3.2数学函数8

1.3.3声明常量9

1.4给Java程序加注释9

1.5缩进程序10

1.6变量、赋值和类型检查10

1.6.1用于存储中间值的变量11

1.6.2为赋值和强制转换进行类型检查14

1.6.3赋值的内部机制16

1.7递增/递减变量17

1.7.1递增的一般机制17

1.7.2前递增与后递增18

1.7.3用于求解二次方程的计算程序19

1.8 Java输入/输出(I/O)基础19

1.8.1计算并不意味着显示20

1.8.2键盘输入21

1.8.3文件重定向22

1.9错误和调试的艺术24

1.10集成开发环境(IDE)26

1.11习题27

1.11.1教师注意事项27

1.11.2第一组习题28

第2章 条件结构和循环30

2.1指令工作流程30

2.2条件结构:简单选择和多重选择30

2.2.1分支条件:if…else…30

2.2.2用于分支指令的三元运算符:谓词?A:B32

2.2.3嵌套的条件语句33

2.2.4用于比较的关系和逻辑运算符35

2.2.5多重选择:switch case37

2.3块和变量的作用域39

2.3.1指令块39

2.3.2嵌套块和变量作用域40

2.4循环结构41

2.4.1循环语句:while41

2.4.2循环语句:do-while42

2.4.3循环语句:for44

2.4.4布尔算术表达式45

2.5展开循环和程序终止46

2.5.1展开循环46

2.5.2永不终止的程序46

2.5.3等价于通用while结构的循环47

2.5.4随时利用break中止循环47

2.5.5循环和程序终止47

2.6验证程序:语法、编译和数值错误48

2.7从命令行解析程序参数50

2.8习题52

第3章 函数和递归函数55

3.1编写函数的优点55

3.2声明和调用函数55

3.2.1原型化函数55

3.2.2基本函数的示例57

3.2.3一个更精心设计的示例:迭代式阶乘函数58

3.2.4带有条件语句的函数59

3.3静态(类)变量60

3.4函数参数的按值传递62

3.4.1基本的参数传递机制62

3.4.2局部内存和函数调用栈63

3.4.3函数的副作用:改变调用环境65

3.4.4函数签名和函数重载67

3.5递归68

3.5.1再论阶乘函数:一个递归函数69

3.5.2斐波纳奇数列70

3.5.3对数平均值71

3.6终结递归以提高程序效率72

3.7递归和图形73

3.8中止问题:不可判定的任务76

3.9习题77

第4章 数组80

4.1为什么程序员需要数组80

4.2声明和初始化数组80

4.2.1声明数组80

4.2.2创建和初始化数组81

4.2.3获取数组的大小:length82

4.2.4数组的索引范围和越界异常83

4.2.5释放内存和垃圾收集器84

4.3数组引用的基本概念84

4.4将数组用作函数参数87

4.5多维数组:数组的数组91

4.5.1规则的多维数组91

4.5.2不规则的多维数组93

4.6字符串数组和main函数95

4.7数组的基本应用:查找97

4.8习题99

第2部分 数据结构与算法105

第5章 对象和字符串105

5.1为什么程序员需要对象105

5.2声明类和创建对象106

5.2.1构造函数和对象创建107

5.2.2公共的null对象109

5.2.3将对象用作参数的静态(类)函数109

5.3对象和引用111

5.3.1复制对象:克隆112

5.3.2测试对象相等性112

5.4对象的数组114

5.5带有数组成员的对象115

5.6标准化的String对象116

5.6.1声明String变量并赋值116

5.6.2字符串的长度:length()117

5.6.3字符串的相等性测试:equals(String str)117

5.6.4比较字符串:字典序118

5.7再论基本的程序骨架121

5.8习题122

第6章 查找和排序126

6.1概述126

6.2查找信息126

6.3顺序查找128

6.3.1顺序查找的复杂度130

6.3.2动态添加对象130

6.3.3二分/分半查找132

6.4对数组进行排序134

6.4.1通过选择进行排序:SelectionSort134

6.4.2把选择排序扩展到对象136

6.4.3选择排序的复杂度138

6.5快速排序:递归排序139

6.5.1快速排序的复杂度分析140

6.6通过散列查找140

6.7习题143

第7章 链表144

7.1简介144

7.2单元和链表144

7.2.1说明单元和链表的概念144

7.2.2将链表作为一种抽象数据结构145

7.2.3在Java中编写链表的程序145

7.2.4遍历链表146

7.2.5存储String元素的链表147

7.2.6链表的长度148

7.2.7动态插入:向链表中添加元素149

7.2.8用于链表的优美打印程序150

7.2.9从链表中删除元素151

7.2.10编写链表的程序时常见的错误152

7.3链表上的递归152

7.4复制链表154

7.5通过数组创建链表155

7.6存储链表156

7.6.1合并有序的链表156

7.6.2链表的递归排序158

7.7关于链表的总结160

7.8链表的应用:散列160

7.8.1开放地址散列162

7.8.2利用链表解决冲突164

7.9几种核心数据结构的比较165

7.10习题165

第8章 面向对象的数据结构168

8.1简介168

8.2队列:先进先出(FIFO)168

8.2.1队列作为抽象数据结构:接口168

8.2.2基本的队列实现:静态函数169

8.2.3队列的应用:集合枚举171

8.3优先级队列和堆173

8.3.1检索最大的元素174

8.3.2添加元素174

8.3.3删除最上面的元素176

8.4面向对象的数据结构:方法177

8.5再论面向对象风格的数据结构182

8.5.1面向对象的优先级队列182

8.5.2面向对象的链表183

8.6栈:后进先出(LIFO)的抽象数据结构186

8.6.1栈接口和数组实现186

8.6.2利用链表实现泛型栈188

8.7习题190

第9章 优化问题的范型191

9.1简介191

9.2穷尽搜索192

9.2.1填充背包192

9.2.2图解回溯法:八皇后问题198

9.3贪心算法:用于获得有保证的近似解的试探法202

9.3.1 0-1背包问题的近似解202

9.3.2用于求解集合覆盖问题的贪心算法207

9.4动态规划:0-1背包问题的最优解213

9.5优化范型:复杂度分析概述216

9.6习题217

第10章 计算的科学220

10.1数字世界220

10.2计算的本性222

10.3数字方程222

10.4算法的起源和计算机223

10.5 21世纪的计算机科学223

第3部分 考试复习227

第11章 考试与解答227

参考文献247

热门推荐