• 1.摘要
  • 2.基本信息
  • 3.基本介绍
  • 3.1.内容简介
  • 3.2.作者简介
  • 4.图书目录
  • 5.序言

大学计算机教育国外著名教材系列•Java

John等著书籍

《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语言描述课程的理想教材。

基本信息

  • 外文名

    Java Sofrtware Structures Designing and Using Structures Third Edition

  • 出版社

    清华大学出版社

  • 作者

    John Lewis Joseph Chase

  • 开本

    16

  • 页数

    526页

基本介绍

内容简介

《Java软件结构与数据结构(第3版)》:大学计算机教育国外著名教材系列。

作者简介

作者:(美国)John Lewis (美国)Joseph Chase

图书目录

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

序言

This book is designed to serve as a text for a course on data structures and algo-rithms. This course is typically referred to as the CS2 course because it is oftentaken as the second course in a computing curriculum. We have designed thisbook to embrace the tenets of Computing Curricula 2001 (CC2001). Pedagogically, this book follows the style and approach of the leading CS1book Java Software Solutions: Foundations of Program Design, by John Lewisand William Loftus. Our book uses many of the highly regarded features of thatbook, such as the Key Concept boxes and complete code examples. Together,these two books support a solid and consistent approach to either a two-courseor three-course introductory sequence for computing students. That said, thisbook does' not assume that students have used Java Sofware Solutions in a previ-ous course. Material that might be presented in either course (such as recursion or sorting)is presented in this book as well. We also include strong reference material pro-viding an overview of object-oriented concepts and how they are realized in Java. We understand the crucial role that the data structures and algorithms courseplays in a curriculum and we think this book serves the needs of that course well.The Third EditionWe have made some key modifications in this third edition to enhance its peda-gogy. The most important-change is a fundamental reorganization of material thatis designed to create a cleaner flow of topics. Instead of having an early, largechapter to review obiect-oriented concepts, we've included that material as anappendix for reference. Then we review concepts as needed and appropriate in thecontext of the implementation strategies discussed throughout the book and citethe appropriate reference material. This not only links the topics in a timely fash-ion but also demonstrates the usefulness of particular language constructs. We've expanded the discussion of Analysis of Algorithms, and given it its ownchapter. The discussion, however, stays at an appropriately moderate level. Ourstrategy is to motivate the concepts involved in the analysis of algorithms, layinga solid foundation, rather than get embroiled in too much formality.