Book contents
- Frontmatter
- Contents
- Preface
- Acknowledgments
- 1 TALKING WITH COMPUTERS
- 2 THE SHELL GAME
- 3 KEEPING TRACK OF YOUR STUFF
- 4 DON'T SWEAT THE SYNTAX
- 5 COMPUTATIONAL MUDDLES
- 6 GETTING ORIENTED
- 7 THANKS FOR SHARING
- 8 YOU'VE GOT (JUNK) EMAIL
- 9 MODERN ARCHITECTURE
- 10 DO ROBOTS SLEEP?
- 11 UNDER THE HOOD
- 12 ANALYZE THIS
- 13 FOREST FOR THE TREES
- 14 SEARCHING THE WILD WEB
- 15 DARWIN'S DANGEROUS ALGORITHM
- 16 AIN'T NOBODY HERE BUT US MACHINES
- Bibliography
- Index
13 - FOREST FOR THE TREES
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- Acknowledgments
- 1 TALKING WITH COMPUTERS
- 2 THE SHELL GAME
- 3 KEEPING TRACK OF YOUR STUFF
- 4 DON'T SWEAT THE SYNTAX
- 5 COMPUTATIONAL MUDDLES
- 6 GETTING ORIENTED
- 7 THANKS FOR SHARING
- 8 YOU'VE GOT (JUNK) EMAIL
- 9 MODERN ARCHITECTURE
- 10 DO ROBOTS SLEEP?
- 11 UNDER THE HOOD
- 12 ANALYZE THIS
- 13 FOREST FOR THE TREES
- 14 SEARCHING THE WILD WEB
- 15 DARWIN'S DANGEROUS ALGORITHM
- 16 AIN'T NOBODY HERE BUT US MACHINES
- Bibliography
- Index
Summary
Often when you're trying to solve a problem, you pull out a pen or pencil and grab a handy piece of paper to write down a column of numbers, draw a diagram, or make a list. In solving the problem, you might sum the numbers, trace lines in the diagram, or match items of the list with items of a second list. These auxiliary scribblings are used to organize information – as with the list or column of numbers – or represent objects so they can be easily manipulated – as with the diagram. Data structures are the algorithmic analog of these handy pieces of paper.
In Chapter 11 we saw that browsers and web servers in a computer network exchange information by bouncing small packages of data from one computer to another until they arrive at their final destination. How can we represent a computer network so that an algorithm can figure out what sequence of computers to use in transferring a data package? For that matter, how do we represent airline schedules, circuit diagrams, computer file systems, road maps and medical records so that they can be manipulated algorithmically?
Many algorithms use special data structures to represent their inputs and outputs or to perform intermediate calculations. In Chapter 7 we used lists and vectors to keep track of journal entries.
- Type
- Chapter
- Information
- Talking with ComputersExplorations in the Science and Technology of Computing, pp. 213 - 236Publisher: Cambridge University PressPrint publication year: 2004