Schaum's Outline of Data Structures with Java / Edition 2

Schaum's Outline of Data Structures with Java / Edition 2

by John R. Hubbard
     
 

ISBN-10: 0071476989

ISBN-13: 9780071476980

Pub. Date: 06/28/2007

Publisher: McGraw-Hill Companies, The

You can catch up on the latest developments in the number one, fastest-growing programming language in the world with this fully updated Schaum's guide. Schaum's Outline of Data Structures with Java has been revised to reflect all recent advances and changes in the language.

Overview

You can catch up on the latest developments in the number one, fastest-growing programming language in the world with this fully updated Schaum's guide. Schaum's Outline of Data Structures with Java has been revised to reflect all recent advances and changes in the language.

Product Details

ISBN-13:
9780071476980
Publisher:
McGraw-Hill Companies, The
Publication date:
06/28/2007
Series:
Schaum's Outline Series
Edition description:
Revised
Pages:
384
Product dimensions:
(w) x 10.40(h) x 0.64(d)

Table of Contents

Chapter 1Review of Java1
1.1Object-Oriented Programming1
1.2The Java Programming Language1
1.3Variables and Objects1
1.4Primitive Types3
1.5Flow Control4
1.6Classes7
1.7Modifiers9
1.8The String Class10
1.9The Math Class13
Chapter 2Review of Arrays23
2.1Properties of Arrays23
2.2Duplicating an Array24
2.3The Arrays Class25
2.4The Sequential Search Algorithm28
2.5The Binary Search Algorithm31
2.6The Vector Class33
Chapter 3Advanced Java53
3.1Inheritance53
3.2Polymorphism54
3.3Type Conversion55
3.4The Object Class58
3.5Abstract Classes60
3.6Interfaces63
3.7Packages66
3.8Exception Handling67
Chapter 4Recursion73
4.1The Basis and Recursive Parts of Recursion74
4.2Tracing a Recursive Call75
4.3The Recursive Binary Search Algorithm75
4.4Binomial Coefficients78
4.5The Euclidean Algorithm79
4.6Inductive Proof of Correctness79
4.7Complexity Analysis of Recursive Algorithms80
4.8Dynamic Programming81
4.9The Towers of Hanoi82
4.10Mutual Recursion83
Chapter 5Collections94
5.1The Java Collections Framework94
5.2The Collection Interface95
5.3The AbstractCollection Class95
5.4A Bag Class96
5.5The Iterator Interface103
Chapter 6Stacks109
6.1The Java Stack Class109
6.2Applications of Stacks112
6.3Removing Recursion115
Chapter 7Queues123
7.1A Framework for Queues123
7.2A Contiguous Implementation126
7.3A Linked Implementation129
7.4Simulation with Queues130
Chapter 8Lists144
8.1The java.util.List Interface144
8.2Implementations of the java.util.List Interface146
8.3The AbstractList and AbstractSequentialList Classes146
8.4List Iterators148
8.5The ArrayList Class149
8.6The LinkedList Class150
8.7Independent List Iterators160
Chapter 9Trees166
9.1Tree Definitions167
9.2Decision Trees and Transition Diagrams169
9.3Ordered Trees172
9.4Tree Traversal Algorithms for Ordered Trees172
Chapter 10Binary Trees181
10.1Definitions181
10.2Counting Binary Trees182
10.3Full Binary Trees183
10.4Identity, Equality, and Isomorphism184
10.5Complete Binary Trees186
10.6Binary Tree Traversal Algorithms187
10.7Expression Trees190
10.8A BinaryTree Class192
10.9Implementations of the Traversal Algorithms196
10.10Forests199
Chapter 11Search Trees210
11.1Multiway Search Trees210
11.2B-Trees212
11.3Binary Search Trees214
11.4Performance Characteristics of Binary Search Trees216
11.5AVL Trees216
11.6An AVLTree Class217
Chapter 12Heaps and Priority Queues225
12.1Heaps225
12.2The Natural Mapping225
12.3Insertion into a Heap226
12.4Removal from a Heap227
12.5A PriorityQueue Class228
12.6The Java Comparator Interface229
12.7A Direct Implementation231
Chapter 13Sorting243
13.1The Java Arrays.sort() Method243
13.2The Bubble Sort244
13.3The Selection Sort245
13.4The Insertion Sort246
13.5The Shell Sort247
13.6The Merge Sort249
13.7The Quick Sort252
13.8The Heap Sort254
13.9The Speed Limit for Comparison Sorts258
13.10The Radix Sort259
13.11The Bucket Sort261
Chapter 14Tables275
14.1The Java Map Interface275
14.2The HashMap Class276
14.3Java Hash Codes277
14.4Hash Tables278
14.5Hash Table Performance280
14.6Collision Resolution Algorithms280
14.7Separate Chaining283
14.8Applications284
14.9The TreeMap Class286
Chapter 15Sets293
15.1Mathematical Sets293
15.2The Java Set Interface294
15.3The Java AbstractSet Class294
15.4The Java HashSet Class295
15.5The Java TreeSet Class297
Chapter 16Graphs301
16.1Simple Graphs301
16.2Graph Terminology301
16.3Paths and Cycles302
16.4Isomorphic Graphs304
16.5The Adjacency Matrix for a Graph306
16.6The Incidence Matrix for a Graph306
16.7The Adjacency List for a Graph307
16.8Digraphs308
16.9Paths in a Digraph310
16.10Weighted Digraphs and Graphs310
16.11Euler and Hamiltonian Paths and Cycles311
16.12Dijkstra's Algorithm312
16.13Graph Traversal Algorithms316
Appendix AEssential Mathematics333
A.1The Floor and Ceiling Function333
A.2Logarithms333
A.3Complexity Classes335
A.4The First Principle of Mathematical Induction336
A.5The Second Principle of Mathematical Induction337
A.6Geometric Series338
A.7Summation Formulas339
A.8Harmonic Numbers339
A.9Stirling's Formula341
A.10The Fibonacci Numbers342
A.11The Golden Mean342
A.12The Euclidean Algorithm343
A.13The Catalan Numbers344
Appendix BFrom C++ to Java353
Appendix CJava Development Environments356
C.1The Windows Command Prompt356
C.2Visual Cafe from Webgain356
Appendix DReferences361
Index365

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >