Preface |
|
ix | |
|
|
1 | (60) |
|
Basic C++ Programming Elements |
|
|
3 | (14) |
|
|
17 | (7) |
|
|
24 | (4) |
|
|
28 | (5) |
|
|
33 | (13) |
|
C++ Program and File Organization |
|
|
46 | (6) |
|
|
52 | (5) |
|
|
57 | (4) |
|
|
61 | (46) |
|
|
63 | (6) |
|
Inheritance and Polymorphism |
|
|
69 | (20) |
|
|
89 | (3) |
|
|
92 | (5) |
|
Recursion and Other Design Patterns |
|
|
97 | (6) |
|
|
103 | (4) |
|
|
107 | (36) |
|
Running Time and Pseudo-Code |
|
|
109 | (4) |
|
A Quick Mathematical Review |
|
|
113 | (3) |
|
Justification Techniques* |
|
|
116 | (4) |
|
|
120 | (3) |
|
|
123 | (6) |
|
|
129 | (6) |
|
|
135 | (8) |
|
Stacks, Queues, and Recursion |
|
|
143 | (60) |
|
|
145 | (11) |
|
|
156 | (13) |
|
|
169 | (7) |
|
|
176 | (7) |
|
|
183 | (7) |
|
Sample Case Study Application |
|
|
190 | (6) |
|
|
196 | (7) |
|
Vectors, Lists, and Sequences |
|
|
203 | (50) |
|
|
205 | (10) |
|
|
215 | (13) |
|
|
228 | (7) |
|
Case Study: Bubble-Sort on a Sequence |
|
|
235 | (3) |
|
|
238 | (4) |
|
A Hierarchy of Sequence ADTs |
|
|
242 | (3) |
|
|
245 | (8) |
|
|
253 | (58) |
|
The Tree Abstract Data Type |
|
|
255 | (7) |
|
Basic Algorithms on Trees |
|
|
262 | (11) |
|
|
273 | (16) |
|
Data Structures for Representing Trees |
|
|
289 | (12) |
|
|
301 | (10) |
|
|
311 | (52) |
|
The Priority Queue Abstract Data Type |
|
|
313 | (10) |
|
Implementing a Priority Queue with a Sequence |
|
|
323 | (7) |
|
|
330 | (19) |
|
The Locator Design Pattern |
|
|
349 | (8) |
|
|
357 | (6) |
|
|
363 | (48) |
|
The Dictionary Abstract Data Type |
|
|
365 | (6) |
|
|
371 | (17) |
|
|
388 | (6) |
|
|
394 | (9) |
|
Locator-Based Dictionary Functions * |
|
|
403 | (2) |
|
|
405 | (6) |
|
|
411 | (72) |
|
|
414 | (12) |
|
|
426 | (11) |
|
|
437 | (4) |
|
|
441 | (8) |
|
|
449 | (19) |
|
Locator-Based Search Trees * |
|
|
468 | (2) |
|
|
470 | (5) |
|
|
475 | (8) |
|
Sorting, Sets, and Selection |
|
|
483 | (50) |
|
|
485 | (13) |
|
|
498 | (6) |
|
|
504 | (11) |
|
A Lower Bound on Comparison-Based Sorting |
|
|
515 | (2) |
|
Bucket-Sort and Radix-Sort |
|
|
517 | (3) |
|
Comparison of Sorting Algorithms |
|
|
520 | (2) |
|
|
522 | (4) |
|
|
526 | (7) |
|
|
533 | (42) |
|
|
535 | (3) |
|
Pattern Matching Algorithms |
|
|
538 | (12) |
|
|
550 | (11) |
|
|
561 | (3) |
|
|
564 | (5) |
|
|
569 | (6) |
|
|
575 | (82) |
|
The Graph Abstract Data Type |
|
|
577 | (8) |
|
Data Structures for Graphs |
|
|
585 | (10) |
|
|
595 | (16) |
|
|
611 | (14) |
|
|
625 | (1) |
|
|
626 | (11) |
|
|
637 | (10) |
|
|
647 | (10) |
A Useful Mathematical Facts |
|
657 | (8) |
Bibliography |
|
665 | (6) |
Index |
|
671 | |