Java软件结构与数据结构(第3版)

Java软件结构与数据结构(第3版)
作 者: 刘易斯 切斯
出版社: 清华大学出版社
丛编项: 大学计算机教育国外著名教材系列
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 影印版
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《Java软件结构与数据结构(第3版)》作者简介

内容简介

《Java软件结构与数据结构(第3版)》是著名作者John Lewis与William Loftus作为其一流的CS1教材“Java Software Solutions:Foundations of Program Design”的姊妹篇。尽管《Java软件结构与数据结构(第3版)》的英文名为“Java Software Structures: Designing and Using Data Structures”,但正如作者在前言中所说的那样,《Java软件结构与数据结构(第3版)》其实是一本可作为“数据结构与算法”课程的教材。根据使用了前两版的教师和学生的反馈,作者在第3版中进行了重大修改,以适应教学的需要。《Java软件结构与数据结构(第3版)》关注的是数据结构和算法背后的核心设计问题。在展现每种集合时,《Java软件结构与数据结构(第3版)》都是先探讨该集合的一般概念,接着再讨论该集合在问题求解中的用法,最后讨论了各种候选实现方案。因此,《Java软件结构与数据结构(第3版)》是“数据结构与算法”Java语言描述课程的理想教材。

图书目录

Chapter I Introduction

1.1 Software Quality

Correctness

Reliability

Robustness

Usability

Maintainability

Reusability

Portability

Efficiency

Quality Issues

1.2 Data Structures

A Physical Example

Containers as Objects

Chapter 2 Analysis of Algorlthms

2.1 Algorithm Efficiency

2.2 Growth Functions and Big-OH Notation

2.3 Comparing Growth Functions

2.4 Determining Time Complexity

Analyzing Loop Execution

Nested Loops

Method Calls

Chapter 3 Collections

3.1 Introduction to Collections

Abstract Data Types,

The lava Collections API

3.2 A Stack Collection

3.3 Crucial OO Concepts

Inheritance

Class Hierarchies

The Object Class

Polymorphism

References and Class Hierarchies

Generices

3.4 A Stack ADT

Interfaces

3.5 Using Stacks: Evaluating Postfix Expressions

3.6 Exceoflons

Exception Messages

The try Statement

Exception Propagation

3.7 Implementing a Stack: Wlth Arrays

Managing Capacity

3.8 The ArrayStaak Class

The Constructors

The push Operation

The pop Operation

The peek Operation

Other Operations

Chapter 4 Llnked Structures

4.1 References as Unks

4.2 Managing Linked Lists

Accessing Elements

Inserting Nodes

Deleting Nodes

Sentinel Nodes

4.3 Elements Without Links

Doubly Linked Lists

4.4 Implementing a Stack: Wlth Links

The LinkedStack Class

The push Operation

The pop Operation

Other Operations

4.5 Using Stacks: Traversing a Maze

4.6 Implementing Stacks:

The java. util. Stack Class

Unique Operations

Inheritance and Implementation

Chapter 5 Queues

5.1 A Queue ADT

5.2 Using Queues: Code Keys

5.3 Using Queues: Ticket Counter Simulation

5.4 Implementing Queues: With Links

The remove Operation

The contains Operation

The ieeraeor Operation

The add Operation for an Ordered List

The enque Operation

The dequeue Operation

Other Operations

5.5 Implementing Queues: With Arrays

The enqueue Operation

The dequeue Operation

Other Operations

Chapter 6 Lists

6.1 A List ADT

Iterators

Adding Elements to a List

Interfaces and Polymorphism

6.2 Using Ordered Lists: Tournament Maker

6.3 Using Indexed Lists: The Josephus Problem

6.4 Implementing Queues: With Arrays

The enqueue Operation

The dequeue Operation

Other Operations

Operations Particular to Unordered Lists

The addAfter Operation for an Unordered List

6.5 Implementing Llsts: With Llnks

The remove Operation

Doubly Linked Lists

The iterator Operation

6.6 Lists in the Java Collections API

Cloneable

Serializable

RandomAccess

Java.util.Vector

Java.util.ArrayList

Java.util.LinkedList

Chapter 7 Recursion

7.1 Recurslve Thlnking

Infinite Recursion

Recursion in Math

7.2 Recurslve Programming

Recursion versus Iteration

Direct versus Indirect Recursion

7.3 Using Recutsion

Traversing a Maze

The Towers of Hanoi

7.4 Analyzing Recursive Algorithms

Chapter 8 Sorting and Searching

8.1 Searching

Static Methods

Generic Methods

Linear Search

Binary Search

Comparing Search Algorithms

8.2 Sorting

Insertion Sort

……

Chapter 9 Trees

Chapter 10 Binary Search Trees

Chapter 11 Priority Queues and Heaps

Chapter 12 Multi-way Seach Trees

Chapter 13 Graphs

Chapter 14 Hashing

Chapter 15 Sets and Maps

Appendix A UML

Appendix B Object-Oriented Design