Muutke küpsiste eelistusi

E-raamat: Practical Guide to Data Structures and Algorithms using Java [Taylor & Francis e-raamat]

Teised raamatud teemal:
  • Taylor & Francis e-raamat
  • Hind: 156,95 €*
  • * hind, mis tagab piiramatu üheaegsete kasutajate arvuga ligipääsu piiramatuks ajaks
  • Tavahind: 224,21 €
  • Säästad 30%
Teised raamatud teemal:
Although traditional texts present isolated algorithms and data structures, they do not provide a unifying structure and offer little guidance on how to appropriately select among them. Furthermore, these texts furnish little, if any, source code and leave many of the more difficult aspects of the implementation as exercises. A fresh alternative to conventional data structures and algorithms books, A Practical Guide to Data Structures and Algorithms using Java presents comprehensive coverage of fundamental data structures and algorithms in a unifying framework with full implementation details. Recognizing that software development is a top-down process, this applications-centered book provides careful guidance to students and practitioners.

Complete and thoroughly integrated Java implementations expose key differences among a wide range of important data structures, including many useful abstract data types not provided in standard Java libraries. Fundamental algorithms appear within the context of their supporting data structures. Case studies, examples, decision trees, and comparison charts throughout the stylized presentation illustrate and support an efficient methodology for the careful selection and application of data structures and algorithms. Appendices summarize major features of the Java programming language, introduce asymptotic notation and complexity analysis, and discuss design patterns applied in the book.

A true marriage of theory and practice, this book sets a new standard as a comprehensive practical guide to data structures and algorithms. Practitioners and students will reach for this book often to quickly identify the best data structure or algorithm for their applications.
Preface xxiii
Acknowledgments xxv
Authors xxvii
I INTRODUCTION
1(42)
Design Principles
3(12)
Object-Oriented Design and This Book
4(1)
Encapsulation
5(1)
Invariants and Representation Properties
6(1)
Interfaces and Data Abstraction
7(1)
Case Study on Conceptual Design: Historical Event Collection
8(2)
Case Study on Structural Design: Trees
10(3)
Further Reading
13(2)
Selecting an Abstract Data Type
15(20)
An Illustrative Example
16(3)
Broad ADT groups
19(2)
Partition of a Set
21(1)
A Collection of Elements
21(2)
Markers and Trackers
23(1)
Positioning and Finding Elements
24(4)
Manually Positioned Collections
26(1)
Algorithmically Positioned Collections
26(2)
Graphs
28(7)
How to Use This Book
35(8)
Conventions
35(1)
Parts II and III Presentation Structure
36(5)
ADT
Chapters
36(2)
Data Structures
38(2)
Algorithms
40(1)
Appendices and CD
41(2)
II COLLECTION DATA STRUCTURES AND ALGORITHMS
43(2)
Part II Organization
45(794)
Foundations
49(24)
Wrappers for Delegation
50(1)
Objects Abstract Class
51(3)
Singleton Classes: Empty and Deleted
51(1)
Object Equivalence
51(2)
Object Comparison
53(1)
Digitizer Interface
54(2)
Bucketizer Interface
56(3)
Object Pool to Reduce Garbage Collection Overhead
59(1)
Concurrency
60(2)
Iterators for Traversing Data Structures
62(1)
Locator Interface
63(7)
Case Study: Maintaining Request Quorums for Byzantine Agreement
63(1)
Interface
64(1)
Markers and Trackers
65(2)
Iteration Using Locators
67(1)
Iteration Order and Concurrent Modifications
68(2)
Version Class
70(1)
Visitors for Traversing Data Structures
71(2)
Partition ADT and the Union-Find Data Structure
73(16)
Partition Element Interface
73(1)
Selecting a Data Structure
74(1)
Union-Find Data Structure
74(1)
Internal Representation
75(1)
Representation Properties
76(1)
Methods
77(3)
Performance Analysis
80(1)
Case Study: Preserving Locators When Merging Data Structures
81(2)
Further Reading
83(4)
Quick Method Reference
87(2)
Collection of Elements
89(6)
Collection Interface
90(2)
Tracked Collection Interface
92(1)
ADTs Implementing the Collection Interface
92(3)
Manually Positioned Collections
92(1)
Algorithmically Positioned Untagged Collections
92(1)
Algorithmically Positioned Tagged Ungrouped Collections
93(1)
Algorithmically Positioned Tagged Grouped Collections
94(1)
Abstract Collection
95(12)
Internal Representation
95(1)
Representation Properties
96(1)
Methods
96(4)
Trivial Accessors
96(1)
Algorithmic Accessors
97(2)
Representation Mutators
99(1)
Content Mutators
100(1)
Abstract Locater Inner Class
100(2)
Visiting Iterator
102(3)
Performance Analysis
105(1)
Quick Method Reference
105(2)
Positional Collection ADT
107(14)
Interface
107(2)
Positional Collection Locator Interface
109(1)
Terminology
110(1)
Competing ADTs
110(1)
Selecting a Data Structure
111(5)
Tradeoffs among Array-Based Data Structures
114(1)
Tradeoffs among List-Based Data Structures
115(1)
Summary of Positional Collection Data Structures
116(3)
Further Reading
119(2)
Abstract Positional Collection
121(4)
Abstract Positional Collection
121(1)
Internal Representation
121(1)
Quick Method Reference
122(3)
Array Data Structure
125(46)
Internal Representation
126(2)
Representation Properties
128(1)
Methods
128(12)
Constructors
128(1)
Trivial Accessors
129(1)
Representation Accessors
130(1)
Algorithmic Accessors
131(1)
Representation Mutators
132(1)
Content Mutators
133(6)
Locator Initializers
139(1)
Sorting Algorithms
140(18)
Insertion Sort
143(2)
Mergesort
145(2)
Heap Sort
147(2)
Tree Sort
149(1)
Quicksort
149(6)
Radix Sort
155(2)
Bucket Sort
157(1)
Selection and Median Finding
158(2)
Basic Marker Inner Class
160(2)
Marker Inner Class
162(1)
Performance Analysis
163(3)
Further Reading
166(1)
Quick Method Reference
167(4)
Circular Array Data Structure
171(14)
Internal Representation
171(2)
Representation Properties
173(1)
Methods
173(8)
Constructors
173(1)
Representation Accessors
174(1)
Representation Mutators
175(1)
Content Mutators
176(5)
Performance Analysis
181(2)
Quick Method Reference
183(2)
Dynamic Array and Dynamic Circular Array Data Structures
185(8)
Dynamic Array
185(1)
Internal Representation
186(1)
Representation Properties
187(1)
Methods
187(3)
Constructors
187(1)
Representation Mutators
188(1)
Content Mutators
189(1)
Performance Analysis
190(1)
Dynamic Circular Array
191(2)
Tracked Array Data Structure
193(24)
Internal Representation
194(3)
Representation Properties
197(1)
Node Inner Class
198(1)
Tracked Array Methods
198(7)
Constructors
198(1)
Representation Accessors
199(1)
Algorithmic Accessors
199(1)
Representation Mutators
200(1)
Content Mutators
201(3)
Locator Initializers
204(1)
Wrappers for Sorting Tracked Arrays
205(2)
Tracker Inner Class
207(6)
Performance Analysis
213(1)
Quick Method Reference
214(3)
Singly Linked List Data Structure
217(40)
Internal Representation
217(3)
Representation Properties
220(1)
List Item Inner Class
220(1)
Singly Linked List Methods
221(11)
Constructors and Factory Methods
221(1)
Representation Accessors
222(1)
Algorithmic Accessors
222(2)
Representation Mutators
224(1)
Content Mutators
224(7)
Locator Initializers
231(1)
Sorting Algorithms Revisited
232(12)
Insertion Sort
232(1)
Mergesort
233(2)
Heap Sort
235(1)
Tree Sort
236(1)
Quicksort
237(5)
Radix Sort
242(2)
Bucket Sort
244(1)
Selection and Median Finding
244(2)
Tracker Inner Class
246(5)
Performance Analysis
251(3)
Quick Method Reference
254(3)
Doubly Linked List Data Structure
257(8)
Internal Representation
257(1)
Representation Properties
258(1)
Doubly Linked List Item Inner Class
259(1)
Doubly Linked List Methods
259(2)
Constructors and Factory Methods
259(1)
Representation Accessors
260(1)
Algorithmic Accessors
260(1)
Representation Mutators
261(1)
Performance Analysis
261(2)
Quick Method Reference
263(2)
Buffer ADT and Its Implementation
265(6)
Internal Representation
265(1)
Representation Properties
266(1)
Methods
266(4)
Constructors
266(1)
Trivial Accessors
267(1)
Algorithmic Accessors
268(1)
Content Mutators
268(1)
Locator Initializers
269(1)
Performance Analysis
270(1)
Quick Method Reference
270(1)
Queue ADT and Implementation
271(4)
Internal Representation
271(1)
Methods
271(1)
Performance Analysis
272(1)
Quick Method Reference
273(2)
Stack ADT and Implementation
275(4)
Internal Representation
275(1)
Methods
276(2)
Performance Analysis
278(1)
Quick Method Reference
278(1)
Set ADT
279(12)
Case Study: Airline Travel Agent
279(1)
Interface
280(1)
Terminology
280(1)
Hasher Interface
281(1)
Competing ADTs
282(1)
Selecting a Data Structure
283(3)
Summary of Set Data Structures
286(3)
Further Reading
289(2)
Direct Addressing Data Structure
291(14)
Internal Representation
291(2)
Representation Properties
293(1)
Default Direct Addressing Hasher Class
293(1)
Methods
293(5)
Constructors
293(1)
Trivial Accessors
294(1)
Representation Accessors
294(1)
Algorithmic Accessors
295(1)
Representation Mutators
296(1)
Content Mutators
296(1)
Locator Initializers
297(1)
Marker Inner Class
298(3)
Performance Analysis
301(2)
Quick Method Reference
303(2)
Open Addressing Data Structure
305(16)
Internal Representation
305(3)
Representation Properties
308(1)
Default Open Addressing Hasher Class
309(1)
Open Addressing Methods
310(7)
Constructors
310(1)
Trivial Accessors
311(1)
Representation Accessors
311(1)
Selecting a Hash Function
312(1)
Algorithmic Accessors
313(1)
Representation Mutators
314(2)
Content Mutators
316(1)
Performance Analysis
317(1)
Quick Method Reference
318(3)
Separate Chaining Data Structure
321(22)
Internal Representation
322(2)
Representation Properties
324(1)
Chain Item Inner Class
325(1)
Default Separate Chaining Hasher Class
326(1)
Separate Chaining Methods
326(8)
Constructors
326(2)
Trivial Accessors
328(1)
Algorithmic Accessors
328(1)
Representation Mutators
329(2)
Content Mutators
331(2)
Locator Initializers
333(1)
Marker Inner Class
334(5)
Performance Analysis
339(1)
Quick Method Reference
340(3)
Priority Queue ADT
343(10)
Case Study: Huffman Compression
343(2)
Interface
345(1)
Priority Queue Locator Interface
345(1)
Selecting a Data Structure
346(1)
Terminology
347(1)
Competing ADTs
347(1)
Summary of Priority Queue Data Structures
348(3)
Further Reading
351(2)
Binary Heap Data Structure
353(20)
Internal Representation
353(3)
Representation Properties
356(1)
Methods
356(11)
Constructors
356(1)
Trivial Accessors
357(1)
Representation Accessors
357(1)
Algorithmic Accessors
357(1)
Representation Mutators
358(3)
Content Mutators
361(5)
Locator Initializers
366(1)
Locator Inner Class
367(1)
Performance Analysis
368(2)
Quick Method Reference
370(3)
Leftist Heap Data Structure
373(26)
Internal Representation
373(2)
Representation Properties
375(1)
Leftist Heap Node Inner Class
376(2)
Leftist Heap Methods
378(13)
Constructors
378(1)
Algorithmic Accessors
379(3)
Content Mutators
382(9)
Locator Initializers
391(1)
Tracker Inner Class
391(2)
Performance Analysis
393(3)
Quick Method Reference
396(3)
Pairing Heap Data Structure
399(24)
Internal Representation
399(3)
Representation Properties
402(1)
Heap Node Inner Class
402(3)
Pairing Heap Methods
405(10)
Constructors and Factory Methods
406(1)
Algorithmic Accessors
406(1)
Representation Mutators
407(1)
Content Mutators
408(6)
Locator Initializers
414(1)
Tracker Inner Class
415(3)
Performance Analysis
418(1)
Quick Method Reference
419(4)
Fibonacci Heap Data Structure
423(20)
Internal Representation
424(2)
Representation Properties
426(1)
Fibonacci Heap Node Inner Class
426(2)
Fibonacci Heap Methods
428(9)
Constructors and Factory Methods
428(1)
Representation Mutators
429(4)
Content Mutators
433(4)
Performance Analysis
437(4)
Quick Method Reference
441(2)
Ordered Collection ADT
443(12)
Case Study: Historical Event Collection (Range Queries)
443(1)
Case Study: Linux Virtual Memory Map
444(1)
Interface
445(1)
Terminology
446(1)
Competing ADTs
447(1)
Selecting a Data Structure
447(2)
Summary of Ordered Collection Data Structures
449(3)
Further Reading
452(3)
Sorted Array Data Structure
455(16)
Internal Representation
455(1)
Representation Properties
456(1)
Methods
457(10)
Constructors
457(1)
Trivial Accessors
457(1)
Binary Search Algorithm
458(2)
Algorithmic Accessors
460(4)
Content Mutators
464(1)
Utilities for the B-Tree and B+-Tree Classes
465(2)
Locator Initializers
467(1)
Performance Analysis
467(2)
Quick Method Reference
469(2)
Abstract Search Tree Class
471(10)
Internal Representation
471(2)
Representation Properties
473(1)
Abstract Tree Node Inner Class
474(1)
Abstract Search Tree Class
475(1)
Abstract Search Tree Methods
475(5)
Constructors
475(1)
Algorithmic Accessors
475(4)
Content Mutators
479(1)
Quick Method Reference
480(1)
Binary Search Tree Data Structure
481(28)
Internal Representation
481(4)
Representation Properties
485(1)
BSTNode Inner Class
485(4)
Binary Search Tree Methods
489(12)
Constructors and Factory Methods
490(1)
Algorithmic Accessors
490(6)
Content Mutators
496(4)
Locator Initializers
500(1)
Tracker Inner Class
501(3)
Performance Analysis
504(2)
Quick Method Reference
506(3)
Balanced Binary Search Trees
509(4)
Methods
510(2)
Quick Method Reference
512(1)
Red-Black Tree Data Structure
513(18)
Internal Representation
514(1)
Representation Properties
515(1)
RBNode Inner Class
515(2)
Methods
517(11)
Constructors and Factory Methods
517(1)
Content Mutators
517(11)
Performance Analysis
528(1)
Quick Method Reference
528(3)
Splay Tree Data Structure
531(14)
Internal Representation
531(1)
Methods
532(9)
Constructors
532(1)
Representation Mutators
533(1)
Algorithmic Accessors
533(4)
Content Mutators
537(4)
Locator Initializers
541(1)
Performance Analysis
541(2)
Quick Method Reference
543(2)
B-Tree Data Structure
545(30)
Internal Representation
546(3)
Representation Properties
549(1)
B-Tree Node Inner Class
549(8)
B-Tree Node Methods
550(1)
B-Tree Node Representation Mutators
551(4)
B-Tree Node Content Mutators
555(2)
B-Tree Methods
557(11)
Constructors and Factory Methods
557(1)
Algorithmic Accessors
558(4)
Representation Mutators
562(1)
Content Mutators
563(4)
Locator Initializers
567(1)
Marker Inner Class
568(2)
Performance Analysis
570(3)
Quick Method Reference
573(2)
B+-Tree Data Structure
575(18)
Case Study: A Web Search Engine
576(1)
Internal Representation
577(1)
Representation Properties
578(1)
Leaf Node Inner Class
579(4)
B+-Tree Methods
583(6)
Constructors and Factory Methods
584(1)
Representation Accessors
584(1)
Algorithmic Accessors
585(3)
Content Mutators
588(1)
Performance Analysis
589(2)
Quick Method Reference
591(2)
Skip List Data Structure
593(26)
Internal Representation
593(3)
Representation Properties
596(1)
Tower Inner Class
597(1)
Skip List Methods
598(12)
Constructors
598(2)
Algorithmic Accessors
600(4)
Representation Mutators
604(1)
Content Mutators
605(5)
Locator Initializers
610(1)
Tracker Inner Class
610(3)
Performance Analysis
613(4)
Quick Method Reference
617(2)
Digitized Ordered Collection ADT
619(16)
Case Study: Packet Routing
619(1)
Case Study: Inverted Index for Text Retrieval
620(1)
Digitized Ordered Collection Interface
621(1)
Selecting a Data Structure
622(1)
Terminology
623(1)
Competing ADTs
624(1)
Summary of Digitized Ordered Collection Data Structures
625(5)
Trie Variations
630(1)
Suffix Trees
630(1)
Indexing Tries
631(2)
Further Reading
633(2)
Trie Node Types
635(4)
Trie Node Interface
635(1)
Abstract Trie Node Class
635(1)
Trie Leaf Node Interface
636(1)
Abstract Trie Leaf Node Class
637(2)
Trie Data Structure
639(32)
Internal Representation
639(3)
Representation Properties
642(1)
Internal Node Inner Class
642(2)
Leaf Node Inner Class
644(1)
Search Data Inner Class
644(5)
FindResult Enumerated Type
649(1)
Trie Methods
650(12)
Constructors and Factory Methods
650(1)
Algorithmic Accessors
651(6)
Content Mutators
657(4)
Locator Initializers
661(1)
Trie Tracker Inner Class
662(2)
Performance Analysis
664(3)
Quick Method Reference
667(4)
Compact Trie Data Structure
671(12)
Internal Representation
671(1)
Representation Properties
672(1)
Compact Trie Methods
672(7)
Constructors and Factory Methods
673(1)
Algorithmic Accessors
673(2)
Content Mutators
675(4)
Performance Analysis
679(1)
Quick Method Reference
680(3)
Compressed Trie Data Structure
683(14)
Internal Representation
683(2)
Representation Properties
685(1)
Compressed Trie Node Interface
686(1)
Internal Node Inner Class
686(1)
Compressed Trie Leaf Node Inner Class
687(1)
Compressed Trie Search Data Inner Class
687(1)
Compressed Trie Methods
688(5)
Constructors and Factory Methods
688(1)
Algorithmic Accessors
689(1)
Content Mutators
690(3)
Performance Analysis
693(1)
Quick Method Reference
694(3)
Patricia Trie Data Structure
697(22)
Internal Representation
697(2)
Representation Properties
699(1)
Patricia Trie Node Inner Class
700(2)
Patricia Trie Search Data Inner Class
702(3)
Patricia Trie Methods
705(12)
Constructors
705(1)
Content Mutators
706(11)
Performance Analysis
717(1)
Quick Method Reference
717(2)
Ternary Search Trie Data Structure
719(10)
Internal Representation
719(2)
Representation Properties
721(1)
Ternary Search Trie Internal Node Inner Class
722(1)
Ternary Search Trie Search Data Inner Class
722(1)
Ternary Search Trie Methods
723(2)
Constructors and Factory Methods
723(1)
Algorithmic Accessors
724(1)
Performance Analysis
725(1)
Quick Method Reference
725(4)
Spatial Collection ADT
729(6)
Case Study: Collision Detection in Video Games
729(1)
Interface
730(1)
Competing ADTs
731(1)
Summary of Spatial Collection Data Structures
732(1)
Further Reading
732(3)
KD-Tree Data Structure
735(22)
Internal Representation
736(3)
Representation Properties
739(1)
Alternating Comparator
739(3)
KDNode Inner Class
742(5)
KDTreeImpl Class
747(3)
KD-Tree Methods
750(2)
Performance Analysis
752(2)
Quick Method Reference
754(3)
Quad Tree Data Structure
757(28)
Internal Representation
757(3)
Representation Properties
760(1)
Partitioning a Two-Dimensional Space
761(1)
QTNode Inner Class
762(3)
Box Inner Class
765(2)
Quad Tree Methods
767(15)
Constructors and Factory Methods
767(1)
Representation Accessors
768(1)
Algorithmic Accessors
768(4)
Content Mutators
772(9)
Locator Initializers
781(1)
Performance Analysis
782(1)
Quick Method Reference
782(3)
Tagged Collection ADTs
785(40)
Tagged Element
786(3)
Mutable Tagged Element
787(1)
Tagged Element Comparator
787(1)
Tagged Element Digitizer
788(1)
Tagged Element XY Comparator
788(1)
Tagged Collection Interface
789(2)
Tracked Tagged Interface
791(1)
Competing ADTs
791(1)
Selecting a Tagged Collection ADT
792(1)
Tagged Collection Wrapper
793(4)
Mapping ADT
797(4)
Direct Addressing Mapping
799(1)
Open Addressing Mapping
799(2)
Separate Chaining Mapping
801(1)
Tagged Priority Queue ADT
801(6)
Tagged Priority Queue Wrapper
803(3)
Tagged Binary Heap
806(1)
Tagged Leftist Heap
806(1)
Tagged Pairing Heap
807(1)
Tagged Fibonacci Heap
807(1)
Tagged Ordered Collection ADT
807(7)
Tagged Ordered Collection Wrapper
811(1)
Tagged Sorted Array
812(1)
Tagged Binary Search Tree
813(1)
Tagged Splay Tree
813(1)
Tagged Red-Black Tree
813(1)
Tagged B-Tree
813(1)
Tagged B+-Tree
814(1)
Tagged Skip List
814(1)
Tagged Digitized Ordered Collection ADT
814(6)
Tagged Digitized Ordered Collection Wrapper
818(1)
Tagged Trie
818(1)
Tagged Compact Trie
819(1)
Tagged Compressed Trie
819(1)
Tagged Patricia Trie
819(1)
Tagged Ternary Search Trie
819(1)
Tagged Spatial Collection ADT
820(5)
Tagged Spatial Collection Wrapper
821(1)
Tagged KD-Tree
822(1)
Tagged Quad Tree
823(2)
Tagged Bucket Collection ADTs
825(14)
Case Study: Historical Event Collection (Indexing)
826(2)
Case Study: Biosequence Comparison
828(1)
Bucket Factory Interface
829(1)
Tagged Bucket Collection Interface
829(2)
Selecting a Tagged Bucket Collection ADT
831(1)
Selecting a Data Structure
832(1)
Tagged Bucket Collection Wrapper
832(7)
III GRAPH DATA STRUCTURES AND ALGORITHMS
839(2)
Part III Organization
841(116)
Graph ADT
843(14)
Case Study: Task Scheduler
844(1)
Terminology
845(3)
Edge Interface
848(1)
Graph Interface
848(2)
Graph Representation Interface
850(1)
Selecting a Data Structure
851(3)
Summary of Graph Data Structures
854(3)
Abstract Graph and Graph Algorithms
857(26)
Representation Properties
858(1)
Methods
858(3)
In-Tree Representation
861(4)
Finding Shortest Paths with Breadth-First Search
865(2)
Finding Cycles and Connected Components with Depth-First Search
867(6)
Topological Sort
873(2)
Strongly Connected Components
875(3)
Performance Analysis
878(1)
Case Study: Garbage Collection
878(2)
Further Reading
880(1)
Quick Method Reference
881(2)
Adjacency Matrix Data Structure
883(18)
Internal Representation
883(3)
Representation Properties
886(1)
Methods
887(6)
Constructors
887(1)
Trivial Accessors
888(1)
Algorithmic Accessors
888(1)
Representation Mutators
889(1)
Content Mutators
890(3)
Edge Iterators
893(1)
Incident Edge Iterator Inner Class
893(3)
Adjacency Matrix Class
896(1)
Performance Analysis
897(1)
Quick Method Reference
898(3)
Adjacency List Data Structure
901(16)
Internal Representation
902(3)
Representation Properties
905(1)
Methods
906(4)
Constructors
906(1)
Trivial Accessors
906(1)
Algorithmic Accessors
906(2)
Content Mutators
908(2)
Edge Iterators
910(1)
Edge Iterator Inner Class
910(2)
Adjacency List Class
912(1)
Performance Analysis
912(3)
Quick Method Reference
915(2)
Weighted Graph ADT
917(8)
Case Study: Airline Travel Agent (Revisited)
917(2)
Case Study: Image Segmentation
919(2)
Terminology
921(1)
Weighted Edge Interface
922(1)
Simple Weighted Edge Class
922(1)
Weighted Graph Interface
923(1)
Selecting a Data Structure
923(1)
Weighted Adjacency Matrix Data Structure
924(1)
Weighted Adjacency List Data Structure
924(1)
Abstract Weighted Graph and Weighted Graph Algorithms
925(32)
Greedy Tree Builder
926(5)
Dijkstra's Single-Source Shortest Path Algorithm
931(4)
Prim's Minimum Spanning Tree Algorithm
935(3)
Kruskal's Minimum Spanning Tree Algorithm
938(3)
Bellman-Ford's Single-Source Shortest Path Algorithm
941(2)
Shortest Path Matrix
943(2)
Floyd-Warshall's All-Pairs Shortest Path Algorithm
945(3)
Edmonds-Karp Maximum Flow Algorithm
948(6)
Further Reading
954(1)
Quick Method Reference
955(2)
IV APPENDICES
957(40)
Java Fundamentals
959(20)
Types and Operators
959(2)
Packages
961(1)
Classes and Objects
961(1)
Instance Variables
962(1)
Methods
962(3)
Constructors
965(1)
The Heap
965(2)
Exception Handling
967(2)
Assertions
969(1)
Inner Classes
969(1)
Static Members
970(1)
Interfaces
971(2)
The Class Hierarchy
973(1)
Extending Classes
973(1)
Type Checking and Casting
973(1)
Superconstructors
974(1)
Overriding Methods
974(1)
Polymorphism
974(1)
Iterators
975(1)
Generics
976(3)
Complexity Analysis
979(12)
Time Complexity
980(1)
Asymptotic Notation
981(3)
Space Complexity
984(1)
Expected Time Complexity
985(1)
Amortized Analysis
985(2)
Solving Recurrence Equations with the Master Method
987(4)
Design Patterns Illustrated in This Book
991(6)
Abstract Factory
991(1)
Adaptor
991(1)
Bridge
992(1)
Builder
992(1)
Command
992(1)
Composite
993(1)
Decorator
993(1)
Facade
993(1)
Factory Method
994(1)
Flyweight
994(1)
Iterator
994(1)
Leasing
995(1)
Proxy
995(1)
Singleton
995(1)
Strategy
996(1)
Template Method
996(1)
Visitor
996(1)
References 997(8)
Index 1005


Sally. A Goldman, Kenneth. J Goldman