加入VIP
Java软件结构与数据结构-Java软件结构与数据结构第四版PDF电子书下载完整高清版

Java软件结构与数据结构-Java软件结构与数据结构第四版PDF电子书下载完整高清版

编辑点评:

《Java软件结构与数据结构(第4版)》由著名作者John Lewis编写,本书始终以良好软件工程实践为准则,以Java为语言,介绍数据结构与算法的相关知识和具体实现,强调完美软件设计技巧的重要性,并通过大量的示例,支持和强化数据结构与算法的学习。

Java软件结构与数据结构第四版PDF电子书下载

第四版的新内容

在第4版中,本书做了一些重要的修订,以得到更佳的教学效果:修订了有关集合的章节,对Java API是如何支持集合的给出了更全面的阐述。

在每章的后面增加了术语和定义的汇总。

把迭代器单独成一章,并对它进行了扩展介绍。

增加了新的代码注解。

增加了新的常见错误图示。增加了新的设计要点插图。

增加了一个新附录,介绍图形绘制、图形用户界面开发以及常规表达式。

对全书进行了修订和更新,以更详尽地介绍,并解决问题。

章节划分

第1章(概述)讨论了软件质量涉及的各个方面,并对软件开发问题进行了一个全面概述。本章的目的在于,在进行数据结构和算法设计的细节之前,建立一套正确的开发思路。

第2章(算法分析)介绍了确定算法效率的基础知识,并阐述了一个重要的标准,使得开发人员可以以正确的方式将一种算法与另一种算法进行比较。本章的重点是理解重要的概念,而不是陷入数学或公式的漩涡。

第3章(集合概述–栈)建立了集合的概念,强调了将接口和实现区分开来的必要性。本章还从概念上介绍了栈,然后阐述了基于数组的栈的实现。

第4章(链式结构–栈)讨论了使用引用来创建链式数据结构。本章考察了有关链表管理的基本问题,然后使用基本链式数据结构(在第3章中已介绍),定义栈的另一种实现方法。

第5章(队列)考察了先进先出队列的概念和实现。本章通过一个高效使用队列的示例来讨论基数排序。本章所介绍的实现包括基本链表以及定长和环尼数组。

第6章(列表)论述了3种类型的列表:有序表、无序表和索引表。通过讨论这3种类型列表所共有的及各自独有的操作,来对它们进行比较和区分。在各种类型的列表设计中,我们将恰当地使用继承,且通过两种方式(基于数组的和链式的表示)来实现这些列表。

第7章(迭代器)是新的一章,分别介绍了迭代器的概念和实现,这些对集合是非常重要的。

第8章(递归)概要介绍了递归的概念,以及递归解决方案为什么是优美的。本章还探讨了递归的实现细节,并讨论了递归算法分析的基本思想。

第9章(排序与查找)讨论了线性查找和二分查找算法以及若干排序的算法(如选择排序、插入排序、冒泡排序、快速排序以及归并排序),本章着重讨论与查找和排序相关的编程问题,比如将Comparable接口用作对象比较的基础,以特定数据结构为基础的查找与排序(如堆排序)将在后面的章节讨论。

第10章(树)对树进行了概述,并构建了关键的术语和概念。本章讨论了各种实现方式,并通过一个二叉树来表示和评估某一算数表达式。

第11章(二义查找树)利用第9章构建的基本概念,定义了一个经典的二叉查找树。本章先考察了一个二义查找树的链式实现,然后讨论了树结点的平衡如何对其性能起到关键作用。这就引出了AVL和二又查找树的红/黑实现的介绍。

第12章(优先队列与堆)探讨了堆的概念、使用和实现,尤其是与优先队列的关系。我们通过一个堆排序来举例说明其用途。本章还介绍了链式实现和基于数组的实现。

第13章(Set与Map集合)介绍了这两种类型的集合及其对Java Collections API的重要性。

第14章(多路查找树)是前面章节的自然延伸。本章讨论了2-3树、2-4树以及广义B树的概念,还讨论了各种实现。

第15章(图)探讨了无向图和有向图的概念,并构建了一些重要的术语。本章考察了若干常用图的算法,并讨论了各种实现,包括邻接矩阵。

附录A(UML)概述了统一建模语言.UML是表示面向对象系统的事实标准表示法。附录B(面向对象设计)为任何需要回顾面向对象的基本概念及其在Java中如何实现等内容的读者提供参考。本附录包含的概念包括抽象、类、封装、继承、多态性以及许多相关的Java语言结构,比如接口。

附录C(Java图形编程)介绍了使用JavaAPI绘制图形的基础知识。

附录D(图形用户接口)详细介绍了开发基于Swing的GUI所需的元素。本附录还给出了使用各种接口组件的多种示例。

附录E(散列)包括散列的概念及其相关问题,比如散列函数及冲突。本附录讨论了散列的各种Java Collections API.

附录F(正则表达式)介绍了正则表达式的使用,它在多种JavaAPI(如Scanner类)

中发挥作用。

本书的写作风格

这种类型的图书在整体写作方法上的差别相当大。本书的写作方法是建立在一些我们强烈推荐的重要原则之上的。首先,以一种连贯叙述的方式介绍在本书中将要考察的各种集合。其次,强调完美软件设计技巧的重要性。第三,对本书结构加以组织以支持和强化本书的重要目标:即数据结构与算法的学习。我们将更深入地考察这些原则。

本书始终坚持良好的软件工程实践准则,集合实现的设计以及使用这些设计的程序遵循一致且恰当的标准。

主要术语

bytecode:字节码 软件的底层表示,运行在Java虚拟机上。

correctness:正确性一种软件质量特性,表明软件达到特定需求的程度。

efficiency:效率一种软件质量特性,表明软件实现其目标而无浪费资源的程度。

maintainability:可维护性 一种软件质量特性,表明对软件进行修改的容易程度。

portability:可移植性 一种软件质量特性,表明软件组件可用于多种计算机环境中的容易程度。

reliability:可靠性一种软件质量特性,表明软件发生故障的频率和危害程度。

reusability:可重用性 一种软件质量特性,表明软件组件可被其他软件系统开发使用的容易程度。

robustness:健壮性 种软件质量特性,表明能很好处理错误情况的程度。

software failure:软件故障 软件系统在可允许的操作条件下,发生的不可预知行为。

stakeholder:股东投资一个项目的人,因此他关注与项目相关的特定问题。

usability:可用性 种软件质量特性,表明用户在软件中掌握和运行任务的容易程度。

Java软件结构与数据结构第四版PDF电子书下载截图

Java软件结构与数据结构-Java软件结构与数据结构第四版PDF电子书下载完整高清版插图(1)Java软件结构与数据结构-Java软件结构与数据结构第四版PDF电子书下载完整高清版插图(2)Java软件结构与数据结构-Java软件结构与数据结构第四版PDF电子书下载完整高清版插图(3)Java软件结构与数据结构-Java软件结构与数据结构第四版PDF电子书下载完整高清版插图(4)Java软件结构与数据结构-Java软件结构与数据结构第四版PDF电子书下载完整高清版插图(5)

评分及评论

无用户评分

来评个分数吧

  • 5 分
    0
  • 4 分
    0
  • 3 分
    0
  • 2 分
    0
  • 1 分
    0

评论