Fundamentals |
|
|
|
3 | (24) |
|
|
4 | (3) |
|
A Sample Problem---Connectivity |
|
|
7 | (4) |
|
|
11 | (11) |
|
|
22 | (2) |
|
|
24 | (3) |
|
Principles of Algorithm Analysis |
|
|
27 | (42) |
|
Implementation and Empirical Analysis |
|
|
28 | (5) |
|
|
33 | (3) |
|
|
36 | (8) |
|
|
44 | (5) |
|
|
49 | (4) |
|
Examples of Algorithm Analysis |
|
|
53 | (6) |
|
Guarantees, Predictions, and Limitations |
|
|
59 | (10) |
Data Structures |
|
|
Elementary Data Structures |
|
|
69 | (60) |
|
|
70 | (13) |
|
|
83 | (8) |
|
|
91 | (6) |
|
Elementary List Processing |
|
|
97 | (9) |
|
Memory Allocation for Lists |
|
|
106 | (4) |
|
|
110 | (6) |
|
|
116 | (13) |
|
|
129 | (72) |
|
Abstract Objects and Collections of Objects |
|
|
140 | (4) |
|
|
144 | (3) |
|
Examples of Stack ADT Clients |
|
|
147 | (6) |
|
Stack ADT Implementations |
|
|
153 | (5) |
|
|
158 | (8) |
|
FIFO Queues and Generalized Queues |
|
|
166 | (9) |
|
Duplicate and Index Items |
|
|
175 | (4) |
|
|
179 | (13) |
|
Application-Based ADT Example |
|
|
192 | (6) |
|
|
198 | (3) |
|
|
201 | (64) |
|
|
202 | (8) |
|
|
210 | (12) |
|
|
222 | (8) |
|
|
230 | (10) |
|
Mathematical Properties of Trees |
|
|
240 | (3) |
|
|
243 | (6) |
|
Recursive Binary-Tree Algorithms |
|
|
249 | (6) |
|
|
255 | (6) |
|
|
261 | (4) |
Sorting |
|
|
Elementary Sorting Methods |
|
|
265 | (50) |
|
|
267 | (6) |
|
|
273 | (1) |
|
|
274 | (3) |
|
|
277 | (2) |
|
Performance Characteristics of Elementary Sorts |
|
|
279 | (6) |
|
|
285 | (8) |
|
Sorting Other Types of Data |
|
|
293 | (6) |
|
Index and Pointer Sorting |
|
|
299 | (8) |
|
|
307 | (5) |
|
|
312 | (3) |
|
|
315 | (32) |
|
|
316 | (5) |
|
Performance Characteristics of Quicksort |
|
|
321 | (4) |
|
|
325 | (3) |
|
|
328 | (3) |
|
Median-of-Three Partitioning |
|
|
331 | (5) |
|
|
336 | (3) |
|
|
339 | (2) |
|
|
341 | (6) |
|
|
347 | (26) |
|
|
348 | (3) |
|
|
351 | (2) |
|
|
353 | (4) |
|
Improvements to the Basic Algorithm |
|
|
357 | (2) |
|
|
359 | (4) |
|
Performance Characteristics of Mergesort |
|
|
363 | (3) |
|
Linked-List Implementations of Mergesort |
|
|
366 | (4) |
|
|
370 | (3) |
|
Priority Queues and Heapsort |
|
|
373 | (44) |
|
Elementary Implementations |
|
|
377 | (4) |
|
|
381 | (2) |
|
|
383 | (6) |
|
|
389 | (7) |
|
|
396 | (6) |
|
Priority Queues for Index Items |
|
|
402 | (4) |
|
|
406 | (11) |
|
|
417 | (34) |
|
|
419 | (4) |
|
|
423 | (4) |
|
|
427 | (8) |
|
Three-Way Radix Quicksort |
|
|
435 | (4) |
|
|
439 | (3) |
|
Performance Characteristics of Radix Sorts |
|
|
442 | (5) |
|
|
447 | (4) |
|
|
451 | (38) |
|
Batcher's Odd-Even Mergesort |
|
|
453 | (5) |
|
|
458 | (8) |
|
|
466 | (6) |
|
Sort-Merge Implementations |
|
|
472 | (6) |
|
|
478 | (11) |
Searching |
|
|
|
489 | (54) |
|
Symbol-Table Abstract Data Type |
|
|
491 | (8) |
|
|
499 | (3) |
|
|
502 | (8) |
|
|
510 | (5) |
|
Binary Search Trees (BSTs) |
|
|
515 | (6) |
|
Performance Characteristics of BSTs |
|
|
521 | (4) |
|
Index Implementations with Symbol Tables |
|
|
525 | (4) |
|
Insertion at the Root in BSTs |
|
|
529 | (4) |
|
BST Implementations of Other ADT Functions |
|
|
533 | (10) |
|
|
543 | (44) |
|
|
547 | (7) |
|
|
554 | (6) |
|
|
560 | (5) |
|
|
565 | (10) |
|
|
575 | (8) |
|
Performance Characteristics |
|
|
583 | (4) |
|
|
587 | (36) |
|
|
588 | (9) |
|
|
597 | (5) |
|
|
602 | (6) |
|
|
608 | (5) |
|
|
613 | (4) |
|
|
617 | (6) |
|
|
623 | (46) |
|
|
624 | (4) |
|
|
628 | (9) |
|
|
637 | (9) |
|
|
646 | (18) |
|
Text String Index Applications |
|
|
664 | (5) |
|
|
669 | (38) |
|
|
671 | (3) |
|
Indexed Sequential Access |
|
|
674 | (2) |
|
|
676 | (15) |
|
|
691 | (12) |
|
|
703 | (4) |
Index |
|
707 | |