数据结构与算法:Java语言版(英文版·第二版)

数据结构与算法:Java语言版(英文版·第二版)
作 者: 德罗兹德克
出版社: 机械工业出版社
丛编项: 经典原版书库
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 数据结构
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  AdamDrozdek,毕业于美国莱特州立大学,现任迪尤肯大学计算机系副教授。曾出版多部著作,包括《DataStructesandAlgorithmsinC++》和《TheElementsofdataCompression》等。

内容简介

数据结构和算法课程是计算机科学教育的核心内容,本书提供了该领域必备的知识。根据当前的设计和实现范例,本书以面向对象的方式描述数据结构,深入浅出地讲解了相关的难点。Drozdek强调了数据结构和算法之间的关系,分析了算法的复杂性,还讲解了增强封装和分解的信息隐藏原理,对递归方法进行了清晰的阐述,详尽地描述了不同类型的递归。本书第1版取材新颖,被很多学校采用为教学参考书。第2版在延续了第1版理论结合实际的风格的同时,在理论上更精深了一层,添加了很多数据结构的经典问题与新的思想,比如NP完整性、图论中的团问题以及结合自动机理论探讨的字符串匹配技术等。本书主要特点●示例学习。贯穿全书,从实际应用的角度诠释概念。●编程作业。为读者提供大量的实践机会。●丰富的图表。增强对数据结构用途的理解。●清晰地阐述递归。即使对高年级学生而言,这也是具有挑战性的主题。

图书目录

1 Object-Oriented Programming Using Java

1.1 Rudimentary Java

1.2 Object-Oriented Porgramming in Java

1.3 Imput and Output

1.4 Java and Pointers

1.5 Vectors in java.util

1.6 Data Structures and Object-Oriented Programming

1.7 Case Study:Random Access File

1.8 Exercises

1.9 Programming Assignments

Bibliography

2 Complexity Analysis

2.1 Computational and Asymptotic Complexity

2.2 Big-O Notation

2.3 Properties of Big-O Notation

2.4 ΩandΘNotations

2.5 Possible Problems

2.6 Examples of Complexities

2.7 Finding Asymptotic Complexity:Examples

2.8 The Best,Average,and Worst Cases

2.9 Amortized Complexity

2.10 NP-Completeness

2.11 Exercises

Bibliography

3 LINKED LISTS

3.1 Singly Linked Lists

3.2 Doubly Linked Lists

3.3 Circular Lists

3.4 Skip Lists

3.5 Self-Organizing lists

3.6 Sparse Tables

3.7 Lists in java.util

3.8 Concluding Remarks

3.9 Case Study:A Library

3.10 Exercises

3.11 Programming Assignments

Bibliography

4 STACKS AND QUEUES

4.1 Stacks

4.2 Queues

4.3 Priority Queues

4.4 Case Study:Exiting a Maze

4.5 Exercises

4.6 Programming Assignments

Bibliography

5 RECURSION

5.1 Recursive Definitions

5.2 Method Calls and Recursion Implementation

5.3 Anatomy of a Recursive Call

5.4 Tail Recursion

5.5 Nontail Recursion

5.6 Indirect Recursion

5.7 Nested Recursion

5.8 Excessive Recursion

5.9 Backtracking

5.10 Concluding Remarks

5.11 Case Study:A Recursive Descent Interpreter

5.12 Exercises

5.13 Programming Assignments

Bibliography

6 BINARY TREES

6.1 Trees,Binary Trees,and Binary Search Trees

6.2 Implementing Binary Trees

6.3 Searching a Binary Search Tree

6.4 Tree Traversal

6.5 Insertion

6.6 Deletion

6.7 Balancing a Tree

6.8 Self-Adjusting Trees

6.9 Heaps

6.10 Polish Notation and Expression Trees

6.11 Case Study:Computing Word Frequencies

6.12 Exercises

6.13 Programming Assignments

Bibliography

7 MULTIWAY TREES

7.1 The Family of B-Trees

7.2 Tries

7.3 Concluding Remarks

7.4 Case Study:Spell Checker

7.5 Exercises

7.6 Programming Assignments

Bibliography

8 GRAPHS

8.1 Graph Representation

8.2 Graph Traversals

8.3 Shortest Paths

8.4 Cycle Detection

8.5 Spanning Trees

8.6 Connectivity

8.7 Topological sort

8.8 Netwoks

8.9 Matching

8.10 Eulerian and Hamiltonian Graphs

8.11 Graph Coloring

8.12 NP-Complete Problems in Graph Theory

8.13 Case Study:Distinct Rpresentatives

8.14 Exercises

8.15 Programming Assignments

Bibliography

9 SORTING

9.1 Elementary Sorting Algorithms

9.2 Decision Trees

9.3 Efficient Sorting Algorithms

9.4 Sorting in java.util

9.5 Concluding Remarks

9.6 Case Study:Adding Polynomials

9.7 Exercises

9.8 Programming Assignments

Bibliography

10 HASHING

10.1 Hash Functions

10.2 Collision Resolution

10.3 Deletion

10.4 Perfect Hash Functions

10.5 Hash Functions for Extendible Files

10.6 Hashing in java.util

10.7 Case study:Hashing with Buckets

10.8 Exercises

10.9 Programming Assignments

Bibliography

11 DATA COMPRESSION

11.1 Conditions for Data Compression

11.2 Huffman Coding

11.3 Run-Length Encoding

11.4 Ziv-Lempel Code

11.5 Case Study:Huffman Method with Run-Length Encoding

11.6 Exercises

11.7 Programming Assignments

Bibliography

12 MEMORY MANAGEMENT

12.1 The Sequential-Fit Methods

12.2 The Nonsequential-Fit Methods

12.3 Garbage Collection

12.4 Concluding Remarks

12.5 Case Study:An In-Place Garbage Collector

12.6 Exercises

12.7 Programming Assignments

Bibliography

13 STRING MATCHING

13.1 Exact String Matching

13.2 Approximate String Matching

13.3 Case Study:Longest Common Substring

13.4 Exercises

13.5 Programming Assignments

Bibliography

APPENDIXES

A Computing Big-O

B NP-Completeness

Name Index

Subject Index