Preface | p. xi |
Introduction | p. 1 |
What Is an Algorithm? | p. 1 |
Efficiency | p. 8 |
Recurrent Themes in Algorithms | p. 20 |
Basic Data Structures | p. 24 |
Perl's Built-in Data Structures | p. 25 |
Build Your Own Data Structure | p. 26 |
A Simple Example | p. 27 |
Perl Arrays: Many Data Structures in One | p. 37 |
Advanced Data Structures | p. 46 |
Linked Lists | p. 47 |
Circular Linked Lists | p. 60 |
Garbage Collection in Perl | p. 62 |
Doubly-Linked Lists | p. 65 |
Infinite Lists | p. 71 |
The Cost of Traversal | p. 72 |
Binary Trees | p. 73 |
Heaps | p. 91 |
Binary Heaps | p. 92 |
Janus Heap | p. 99 |
The Heaps Module | p. 99 |
Future CPAN Modules | p. 101 |
Sorting | p. 102 |
An Introduction to Sorting | p. 102 |
All Sorts of Sorts | p. 119 |
Sorting Algorithms Summary | p. 151 |
Searching | p. 157 |
Hash Search and Other Non-Searches | p. 158 |
Lookup Searches | p. 159 |
Generative Searches | p. 175 |
Sets | p. 203 |
Venn Diagrams | p. 204 |
Creating Sets | p. 205 |
Set Union and Intersection | p. 209 |
Set Differences | p. 217 |
Counting Set Elements | p. 222 |
Set Relations | p. 223 |
The Set Modules of CPAN | p. 227 |
Sets of Sets | p. 233 |
Multivalued Sets | p. 240 |
Sets Summary | p. 242 |
Matrices | p. 244 |
Creating Matrices | p. 246 |
Manipulating Individual Elements | p. 246 |
Finding the Dimensions of a Matrix | p. 247 |
Displaying Matrices | p. 247 |
Adding or Multiplying Constants | p. 248 |
Transposing a Matrix | p. 254 |
Multiplying Matrices | p. 256 |
Extracting a Submatrix | p. 259 |
Combining Matrices | p. 260 |
Inverting a Matrix | p. 261 |
Computing the Determinant | p. 262 |
Gaussian Elimination | p. 263 |
Eigenvalues and Eigenvectors | p. 266 |
The Matrix Chain Product | p. 269 |
Delving Deeper | p. 272 |
Graphs | p. 273 |
Vertices and Edges | p. 276 |
Derived Graphs | p. 281 |
Graph Attributes | p. 286 |
Graph Representation in Computers | p. 287 |
Graph Traversal | p. 301 |
Paths and Bridges | p. 310 |
Graph Biology: Trees, Forests, DAGS, Ancestors, and Descendants | p. 312 |
Edge and Graph Classes | p. 316 |
CPAN Graph Modules | p. 351 |
Strings | p. 353 |
Perl Builtins | p. 354 |
String-Matching Algorithms | p. 357 |
Phonetic Algorithms | p. 388 |
Stemming and Inflection | p. 389 |
Parsing | p. 394 |
Compression | p. 411 |
Geometric Algorithms | p. 425 |
Distance | p. 426 |
Area, Perimeter, and Volume | p. 429 |
Direction | p. 433 |
Intersection | p. 435 |
Inclusion | p. 443 |
Boundaries | p. 449 |
Closest Pair of Points | p. 457 |
Geometric Algorithms Summary | p. 464 |
CPAN Graphics Modules | p. 464 |
Number Systems | p. 469 |
Integers and Reals | p. 469 |
Strange Systems | p. 480 |
Trigonometry | p. 491 |
Significant Series | p. 492 |
Number Theory | p. 499 |
Basic Number Theory | p. 499 |
Prime Numbers | p. 504 |
Unsolved Problems | p. 522 |
Cryptography | p. 526 |
Legal Issues | p. 527 |
Authorizing People with Passwords | p. 528 |
Authorization of Data: Checksums and More | p. 533 |
Obscuring Data: Encryption | p. 538 |
Hiding Data: Steganography | p. 555 |
Winnowing and Chaffing | p. 558 |
Encrypted Perl Code | p. 562 |
Other Issues | p. 564 |
Probability | p. 566 |
Random Numbers | p. 567 |
Events | p. 569 |
Permutations and Combinations | p. 571 |
Probability Distributions | p. 574 |
Rolling Dice: Uniform Distributions | p. 576 |
Loaded Dice and Candy Colors: Nonuniform Discrete Distributions | p. 582 |
If the Blue Jays Score Six Runs: Conditional Probability | p. 589 |
Flipping Coins Over and Over: Infinite Discrete Distributions | p. 590 |
How Much Snow? Continuous Distributions | p. 591 |
Many More Distributions | p. 592 |
Statistics | p. 599 |
Statistical Measures | p. 600 |
Significance Tests | p. 608 |
Correlation | p. 620 |
Numerical Analysis | p. 626 |
Computing Derivatives and Integrals | p. 627 |
Solving Equations | p. 634 |
Interpolation, Extrapolation, and Curve Fitting | p. 642 |
Further Reading | p. 649 |
ASCII Character Set | p. 652 |
Index | p. 657 |
Table of Contents provided by Syndetics. All Rights Reserved. |