书籍详情
数据结构JAVA语言描述:国外经典计算机科学教材(第二版)
作者:(美)Michael Main著;孔芳,周丽琴译;孔芳译
出版社:中国电力出版社
出版时间:2005-08-01
ISBN:9787508321981
定价:¥66.00
购买这本书可以去
内容简介
在本书中,作者MichaelMain采用一种易于理解的方法,使用Java来讲解数据结构。本书给出了关于面向对象编程和Java的一个知识回顾,使学生得以牢固掌握关键的概念知识,不同层次的学生能够根据自己的实际情况调整学习的内容。本书在结构安排上比较灵活,教师可以根据教学情况进行调整,例如可以强调面向对象的编程,提前讲解递归和排序或加快课程。对于那些想要均衡介绍使用Java进行面向对象编程和数据结构的教师来说,本书是非常不错的选择。本书第二版中包含了新的附录和在线资源,具有更加丰富的Java参考资料,并且增加了对面向对象编程和继承性的介绍。本书特色:·各个主题的顺序非常灵活,教师们能够根据课程需要自行调整本书内容。·告诉学生如何基于Java类库规范,设计、实现和使用类。·讨论编程技巧、陷阱警告和错误警告,让学生注意到Java的细微之处。·不断使用五步方法处理数据类型,让学生完全理解该主题;彻底理解数据类型,·编写规格说明,使用数据类型,设计和实现数据类型,并且分析实现。·告诉学生如何编写JavaApplet来测试新实现的数据结构。
作者简介
暂缺《数据结构JAVA语言描述:国外经典计算机科学教材(第二版)》作者简介
目录
第1章 软件开发周期 1
1.1 规格说明、设计和执行 3
1.2 运行时间分析 15
1.3 测试和调试 22
本章小结 29
自测练习参考答案 29
第2章 Java类和信息隐藏 32
2.1 类及其成员 33
2.2 使用类 43
2.3 包 49
2.4 参数、equals方法和clone 53
本章小结 72
自我测试答案 73
编程项目 75
第3章 集合类 83
3.1 Java数组简介 84
3.2 整数包ADT 89
3.3 编程项目:序列ADT 114
3.4 编程项目 124
本章小结 126
自测练习答案 127
编程项目 131
第4章 链表 136
4.1 链表基础 137
4.2 操作节点的方法 139
4.3 操作整个链表 149
4.4 使用链表的包ADT 168
4.5 程序设计项目:带链表的序列ADT 181
4.6 超越简单链表 186
本章小结 189
自测练习参考答案 189
程序设计项目 195
第5章 通用程序设计 198
5.1 Java的Object类型 199
5.2 对象包 203
5.3 对象结点 217
5.4 接口以及API(选读) 220
5.5 ITERATOR接口(选读) 227
5.6 带有Iterator的通用包类(选读) 230
5.7 Java的Collection和Map接口的介绍(选读) 233
本章小结 241
自测练习的答案 241
程序设计项目 245
第6章 堆栈 247
6.1 堆栈简介 247
6.2 堆栈的应用 251
6.3 堆栈ADT的实现: 263
6.4 更复杂的堆栈应用 271
本章小结 278
自测练习参考答案 279
程序设计项目 280
第7章 队列 283
7.1 队列简介 284
7.2 队列应用 287
7.3 队列ADT的实现 301
7.4 优先队列 214
本章小结 218
自测练习答案 218
程序设计项目 320
第8章 递归思想 323
8.1 递归方法 324
8.2 递归的研究:FRACTAL和迷宫 331
8.3 推导递归 347
本章小结 353
自测练习参考答案 353
程序设计项目 355
第9章 树 360
9.1 树的简介 361
9.2 树的遍历 365
9.3 二叉树节点类 368
9.4 树的遍历 383
9.5 二叉搜索树 395
本章概述 408
自测练习答案 408
编程题目 411
第10章 树项目 411
10.1 堆 412
10.2 B-树 416
10.3 Java对树的支持 435
10.4 树,日志,时间复杂度分析 440
本章小结 444
自测题答案 444
程序设计方案 447
第11章法 查找 448
11.1 顺序查找和二分查找 449
11.2 开型寻址散列 457
11.3 使用Java的HashTable类 471
11.4 链式散列 471
11.5 散列的时间分析 474
本章小节 476
自测练习参考答案 477
程序设计项目 479
第12章 排序 481
12.1 二次排序算法 482
12.2 递归排序算法 492
12.3 使用堆的一个O(nlogn)算法 506
本章小结 514
自测练习参考答案 515
程序设计项目 516
第13章 使用扩展类实现软件重用 518
13.1 扩展类 519
13.2 模拟生态系统 526
13.3 抽象类和game类 544
本章小结 555
进阶阅读 555
自测练习参考答案 556
程序设计项目 558
第14章 图 560
14.1 图的定义 561
14.2 图的实现 566
14.3 图遍历 577
14.4 路径算法 585
本章小结 594
自测练习参考答案 594
程序设计项目 596
附录A Java的原始类型和算术溢出 597
char类型的专有特性 598
附录B Java的输入和输出 600
EasyReader类 600
FormatWriter类 600
附录C 抛出和捕获Java异常 617
如何抛出异常 617
RuntimeException和Error类 619
捕获异常 619
throws语句 620
进阶信息 621
附录D ArrayList、Vector、Hashtable和HashMap类 622
java.util.Vector和java.util.ArrayList类 622
java.util.Hashtable和java.util.HashMap类 624
附录E 用于链表中的节点的类 626
附录F 一个用于bag对象的类 634
附录G 深入Big-O表示法 640
Big-O的常规定义 640
big-O表达式表示什么 641
附录H Javadoc 642
怎样使用Javadoc把你的工件提供给其他程序员 643
怎样编写Javadoc文档注释 643
描述整个类的Javadoc文档 644
用于单独的公有方法的Javadoc 644
控制html链接和字体 645
运行Javadoc 646
附录I 用于交互式测试的Applets 650
简单交互式applet的六个部分 652
怎样编译和运行applet 659
超出init方法之外 660
1.1 规格说明、设计和执行 3
1.2 运行时间分析 15
1.3 测试和调试 22
本章小结 29
自测练习参考答案 29
第2章 Java类和信息隐藏 32
2.1 类及其成员 33
2.2 使用类 43
2.3 包 49
2.4 参数、equals方法和clone 53
本章小结 72
自我测试答案 73
编程项目 75
第3章 集合类 83
3.1 Java数组简介 84
3.2 整数包ADT 89
3.3 编程项目:序列ADT 114
3.4 编程项目 124
本章小结 126
自测练习答案 127
编程项目 131
第4章 链表 136
4.1 链表基础 137
4.2 操作节点的方法 139
4.3 操作整个链表 149
4.4 使用链表的包ADT 168
4.5 程序设计项目:带链表的序列ADT 181
4.6 超越简单链表 186
本章小结 189
自测练习参考答案 189
程序设计项目 195
第5章 通用程序设计 198
5.1 Java的Object类型 199
5.2 对象包 203
5.3 对象结点 217
5.4 接口以及API(选读) 220
5.5 ITERATOR接口(选读) 227
5.6 带有Iterator的通用包类(选读) 230
5.7 Java的Collection和Map接口的介绍(选读) 233
本章小结 241
自测练习的答案 241
程序设计项目 245
第6章 堆栈 247
6.1 堆栈简介 247
6.2 堆栈的应用 251
6.3 堆栈ADT的实现: 263
6.4 更复杂的堆栈应用 271
本章小结 278
自测练习参考答案 279
程序设计项目 280
第7章 队列 283
7.1 队列简介 284
7.2 队列应用 287
7.3 队列ADT的实现 301
7.4 优先队列 214
本章小结 218
自测练习答案 218
程序设计项目 320
第8章 递归思想 323
8.1 递归方法 324
8.2 递归的研究:FRACTAL和迷宫 331
8.3 推导递归 347
本章小结 353
自测练习参考答案 353
程序设计项目 355
第9章 树 360
9.1 树的简介 361
9.2 树的遍历 365
9.3 二叉树节点类 368
9.4 树的遍历 383
9.5 二叉搜索树 395
本章概述 408
自测练习答案 408
编程题目 411
第10章 树项目 411
10.1 堆 412
10.2 B-树 416
10.3 Java对树的支持 435
10.4 树,日志,时间复杂度分析 440
本章小结 444
自测题答案 444
程序设计方案 447
第11章法 查找 448
11.1 顺序查找和二分查找 449
11.2 开型寻址散列 457
11.3 使用Java的HashTable类 471
11.4 链式散列 471
11.5 散列的时间分析 474
本章小节 476
自测练习参考答案 477
程序设计项目 479
第12章 排序 481
12.1 二次排序算法 482
12.2 递归排序算法 492
12.3 使用堆的一个O(nlogn)算法 506
本章小结 514
自测练习参考答案 515
程序设计项目 516
第13章 使用扩展类实现软件重用 518
13.1 扩展类 519
13.2 模拟生态系统 526
13.3 抽象类和game类 544
本章小结 555
进阶阅读 555
自测练习参考答案 556
程序设计项目 558
第14章 图 560
14.1 图的定义 561
14.2 图的实现 566
14.3 图遍历 577
14.4 路径算法 585
本章小结 594
自测练习参考答案 594
程序设计项目 596
附录A Java的原始类型和算术溢出 597
char类型的专有特性 598
附录B Java的输入和输出 600
EasyReader类 600
FormatWriter类 600
附录C 抛出和捕获Java异常 617
如何抛出异常 617
RuntimeException和Error类 619
捕获异常 619
throws语句 620
进阶信息 621
附录D ArrayList、Vector、Hashtable和HashMap类 622
java.util.Vector和java.util.ArrayList类 622
java.util.Hashtable和java.util.HashMap类 624
附录E 用于链表中的节点的类 626
附录F 一个用于bag对象的类 634
附录G 深入Big-O表示法 640
Big-O的常规定义 640
big-O表达式表示什么 641
附录H Javadoc 642
怎样使用Javadoc把你的工件提供给其他程序员 643
怎样编写Javadoc文档注释 643
描述整个类的Javadoc文档 644
用于单独的公有方法的Javadoc 644
控制html链接和字体 645
运行Javadoc 646
附录I 用于交互式测试的Applets 650
简单交互式applet的六个部分 652
怎样编译和运行applet 659
超出init方法之外 660
猜您喜欢