\title{Algorithms in the Real World:\\ Lecture Notes (Fall 1997)}
\author{Guy Blelloch}

\maketitle

\begin{abstract}
This document contains the lecture notes taken by the students in the
course ``Algorithms in the Real World'' taught at UC Berkeley during
the Fall semester, 1997.  The class covered the following set of ten
topics: Compression, Cryptography, Linear Programming, Integer
Programming, Triangulation, N-body simulation, VLSI Physical Design,
Pattern Matching in Biology, Indexing, and Clustering.  Between 2 and
3 lectures were dedicated to each topic.  For all topics we looked
both at algorithms and at case studies in which the problems are used
in real-world applications.  The class was a graduate class and
assumed that the students came in with a working knowledge of the
material covered in a standard algorithms textbook, such as Cormen,
Leiserson and Rivest's ``Introduction to Algorithms''.  A goal of the
class was to have the students gain an appreciation of how interesting
algorithms and data-structures are used in many real-world
applications.

The notes contained in this document are based on what was covered in
the lectures and are not meant to be complete, and although the scribe
takers corrected many of the mistakes in my lectures, I expect many
others got through.  I must also apologize that the notes contain
very few references to the original work on which they rely.  Instead
I have included at the end of the document a list of primary texts on
the topics from which one can find further information.  Also, there
is a web page associated with the class that has many more online
pointers
\begin{center}
\verb+http://www.cs.berkeley.edu/~guyb/algs.html+.
\end{center}

I would like to thank all the students who took the notes that appear
in this document.  They did an excellent job and in many cases went
far beyond the call of duty in polishing them and generating
figures.  

\end{abstract}

\newpage

\tableofcontents

\newpage

\input{loa}


