新闻资讯
看你所看,想你所想

程式设计与算法(Java语言版)

程式设计与算法(Java语言版)

程式设计与算法(Java语言版)

《程式设计与算法(Java语言版)》是2012年清华大学出版社出版的图书,作者是尼尔森。

基本介绍

  • 中文名:程式设计与算法
  • 装帧:平装
  • 平装:2012-1-11
  • 定价:35元
图书详细信息
ISBN:9787302272441
定价:35元
印次:1-1
装帧:平装
平装:2012-1-11
图书简介
数据结构与算法是计算机专业的核心课程,是计算机软体开发和套用人员必备的专业基础。本书设计用作本科生的第一门教材,利用Java介绍数据结构与算法的相关知识,这是本书的鲜明特点。
本书内容共分10章,并分为两个部分。第1部分介绍了使用Java进行程式设计的基本任务,以及Java语言的基础编程知识。第2部分重点介绍了数据结构和算法,并且解释了如何使用面向对象风格的方法用Java编写它们的程式。
目录
第1部分入门
第1章表达式、变数和赋值 3
1.1简介 3
1.2我的第一个Java程式 3
1.2.1一个最简单的程式 3
1.2.2HelloWorld 4
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.8Java输入/输出(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:B 32
2.2.3嵌套的条件语句 33
2.2.4用于比较的关係和逻辑运算符 35
2.2.5多重选择:switchcase 37
2.3块和变数的作用域 39
2.3.1指令块 39
2.3.2嵌套块和变数作用域 40
2.4循环结构 41
2.4.1循环语句:while 41
2.4.2循环语句:do-while 42
2.4.3循环语句:for 44
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获取数组的大小:length 82
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部分数据结构与算法
第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(Stringstr) 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通过选择进行排序:SelectionSort 134
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.10-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.521世纪的计算机科学 223
第3部分考试複习
第11章考试与解答 227
参考文献 247

转载请注明出处海之美文 » 程式设计与算法(Java语言版)

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com