The MIX
From mmixmasters
Here are the MIX programs that need to be converted to MMIX.
Programs or algorithms that are related have been grouped together, but could be separated if that makes more sense. (For example, Program #1.10 could be split into programs 1.10.1, 1.10.2 and 1.10.3.)
If there are any errors, please correct them, but make sure you are using the edition and printing indicated.
Contents |
Volume 1: Fundamental Algorithms, 3/e, First Printing, May 1997
| ID | Section | Page | Program |
|---|---|---|---|
| 1.1 | 2.1 | 236 | Algorithm A |
| 1.2 | 2.2.3 | 258-259 | stack insertion & deletion |
| 1.3 | 2.2.3 | 266-268 | Program T (Topological Sort) |
| 1.4 | 2.2.4 | 277-278, 552-553 | Program A (Addition of Polynomials), #15 |
| 1.5 | 2.2.5 | 289-295, 554-555, 568 | The Elevator Simulation, #8 & #9, #22 |
| 1.5 | 2.3.1 | 325, 567 | Programs S & T, #20 |
| 1.7 | 2.3.2 | 342-345, 572-573 | Program D (Differentiation), #13 |
| 1.7 | 2.1 | 535 | #8 |
| 1.9 | 2.1 | 535 | #9 |
| 1.10 | 2.2.3 | 545 | #2, #3, #4 |
| 1.11 | 2.2.3 | 546 | #8 |
| 1.12 | 2.2.3 | 548-549 | #24 |
| 1.13 | 2.2.3 | 550 | #27 |
| 1.14 | 2.2.4 | 552 | #11 |
| 1.15 | 2.2.4 | 552 | #13 |
| 1.16 | 2.2.4 | 552 | #14 |
| 1.17 | 2.2.5 | 556 | #9 |
| 1.18 | 2.2.6 | 557-559 | #15 |
| 1.19 | 2.3.2 | 573 | #15 |
| 1.20 | 2.3.2 | 574 | #16 |
| 1.21 | 2.3.5 | 601-602 | #4 |
| 1.22 | 2.5 | 607 | #4 |
| 1.23 | 2.5 | 609-610 | #13, #15, #16 |
| 1.24 | 2.5 | 611-613 | #27, #28 |
| 1.25 | 2.5 | 614 | #34 |
Volume 2: Seminumerical Algorithms, 3/e, First Printing, September 1997
| ID | Section | Page | Program |
|---|---|---|---|
| 2.1 | 3.2.2 | 28, 556 | Program A (Additive number generator), #25 |
| 2.2 | 4.2.1 | 218-219, 220-221, 612, 612-13, 615 | Program A (Addition, subtraction, and normalization), Program M (Floating point multiplication and division), #14, #15, #17 |
| 2.3 | 4.2.3 | 247-249, 249-250, 251-252, 618 | Program A (Double-precision addition), Program M (Double-precision multiplication), Program D (Double-precision division), #6 |
| 2.4 | 4.3.1 | 266-267, 267-268, 269-270, 273-275, 623, 624, 625, 626 | Program A (Addition of nonnegative integers), Program S (Subtraction of nonnegative integers), Program M (Multiplication of nonnegative integers), Program D (Division of nonnegative integers), #3, #8, #13, #25, #26 |
| 2.5 | 4.4 | 320, 321, 637-638 | Single-precision conversion (Methods 1a and 2a), #13 |
| 2.6 | 4.5.2 | 337,339 | Euclid's algorithm, Binary gcd algorithm |
| 2.7 | 3.2.1.1, 3.6 | 543, 544, 599 | #2, #8, #1 |
| 2.8 | 4.6.3 | 691 | #2 |
Volume 3: Sorting and Searching, 2/e, First Printing March 1998
| ID | Section | Page | Program |
|---|---|---|---|
| 3.1 | 5.2 | 70-77, 616 | Program C (Comparison counting), #9 |
| 3.2 | 5.2.1 | 81, 618-619 | Program S (Straight insertion sort), #3 |
| 3.3 | 5.2.1 | 85 | Program D (Shellsort) |
| 3.4 | 5.2.1 | 97, 624-625 | Program L (List insertion), #33 |
| 3.5 | 5.2.1 | 100, 625-626 | Program M (Multiple list insertion), #35 |
| 3.6 | 5.2.2 | 107 | Program B (Bubble sort) |
| 3.7 | 5.2.2 | 117-118, 638 | Program Q (Quicksort), #55 |
| 3.8 | 5.2.2 | 125-126 | Program R (Radix exchange) |
| 3.9 | 5.2.3 | 140, 640-641 | Progarm S (Straight selection sort), #8 |
| 3.10 | 5.2.3 | 146-147 | Program H (Heapsort) |
| 3.11 | 5.2.4 | 165-166 | Program L (List merge sort) |
| 3.12 | 5.2.5 | 174 | Program R (Radix list sort) |
| 3.13 | 6.1 | 397, 702 | Program S (Sequential search), #3 |
| 3.14 | 6.1 | 397-398 | Program Q (Quick sequential search) |
| 3.15 | 6.1 | 398 | Program Q' (Quicker sequential search) |
| 3.16 | 6.2.1 | 411 | Program B (Binary search) |
| 3.17 | 6.2.1 | 415-416, 705 | Program C (Uniform binary search), #10 |
| 3.18 | 6.2.1 | 418-419 | Program F (Fibbonaccian search) |
| 3.19 | 6.2.2 | 429 | Program T (Tree search & insertion) |
| 3.20 | 6.2.3 | 464-466 | Program A (Balanced tree search & insertion) |
| 3.21 | 6.3 | 493-494 | Program T (Trie search) |
| 3.22 | 6.4 | 523-524, 729 | Program C (Chained hash table search & insertion), #12 |
| 3.23 | 6.4 | 527 | Program L (Linear probing & insertion) |
| 3.24 | 6.4 | 530 | Program D (Open addressing with double hashing) |
| 3.25 | 5 | 585-586 | #8 |
| 3.26 | 5.2 | 617 | #11 |
| 3.27 | 5.2.1 | 624 | #31 |
| 3.28 | 5.2.2 | 629-630 | #12 |
|| 3.29 || 6.3 || 722 || #9 ||
