图书介绍
程序设计与算法 Java语言版PDF|Epub|txt|kindle电子书版本网盘下载
![程序设计与算法 Java语言版](https://www.shukui.net/cover/23/30752718.jpg)
- (美)尼尔森著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302272441
- 出版时间:2012
- 标注页数:247页
- 文件大小:110MB
- 文件页数:262页
- 主题词:JAVA语言-程序设计;算法语言-程序设计
PDF下载
下载说明
程序设计与算法 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