Some papers may be in Postscript format (ending with the suffix .ps)
and other in PDF (ending with the suffix .pdf).
On a Unix system, you can simply send a Postscript file to the printer;
you can also view it on the screen with ghostview or (better) gv, either one of which will also allow you to print selected pages.
A PDF file cannot be sent directly to the printer; it must first be
transformed into Postscript; on a Unix system, there are three possible
tools to do that: acroread, gv (if recent enough), and
xpdf; I recommend gv, but acroread is OK, even if
rather clumsy.
On a Windows machine, PDF files should be handled automatically (with acroread,
in fact); Postscript files are not recognized properly (native versions
have the suffix .prn, "printer" files), but will print fine
if sent to a printer and will be displayed properly on your screen with
the Windows version of ghostview (available free in a lot of places).
This list of references comprises a lot of refereed research articles
in respected journals. You should take these as possible models,
but realize that the authors probably spent 1-2 years on the project,
not 5 weeks! You may get useful ideas or additional references from
them, a basis for comparison with your own results, etc.; but your
work is necessarily much less ambitious. You can also find on the web
a number of class papers written for classes not too different from ours;
they will vary from short projects like ours to semester-long senior projects.
In the latter class, a very nice paper on the effect of caching on index
structures can be found here and references
used in that class at
www.ics.uci.edu/~dan/class/261/ref261.html.
-
Just about any paper in the
ACM J. of Experimental Algorithmics.
Several focus on queues, priority queues, and trees, although generally
with added features. If you need the text of 2-3 of these papers, let me know.
-
Look at the web site for the
ALENEX00 workshop;
it has on-line proceedings, as do almost all of the other workshops
(WAE and ALEX/ALENEX) it links to. All of these are experimental papers;
any can be printed (all Postscript files). A number of these are on
pure data structures, as you can generally tell from the titles.
-
Ahuja, R.K., Magnanti, T.L., and Orlin, J.B. Network Flows.
Prentice Hall, NJ, 1993. This is an in-depth textbook on a topic
far beyond our class (network flows), but it has one 20-page chapter
(Chapter 18) devoted entirely to the experimental analysis of algorithms.
That chapter can be read almost in its entirety without knowing anything
about netflow algorithms and is quite useful.
-
Chekuri, C.S., Goldberg, A.V., Karger, D.R., Levine, M.S., and Stein, C.,
``Experimental study of minimum cut algorithms,''
Proc. 8th ACM/SIAM Symp. on Discrete Algs. (SODA 97), 324-333.
In the library, reasonably short. Min-cut is a tricky topic, but you can get
a feel for a good presentation from this short conference paper.
-
Cherkassky, B.V., Goldberg, A.V., and Radzik, T.,
``Shortest paths algorithms: theory and experimental evaluation,''
Math. Progr. 73 (1996), 129-174.
In contrast, this is a full-fledged journal version; notice the huge difference
in length in comparison with the 10-page conference paper. Don't push yourself
through this paper! but do look at presentation and organization:
how the data are graphed, how the paper is organized, etc.
-
Finkler, U., and Mehlhorn, K.,
``Runtime prediction of real programs on real machines,''
Proc. 8th ACM/SIAM Symp. on Discrete Algs. (SODA 97), 380-389.
A rather technical article on how to bridge theory and practice -- the
authors discuss how to produce a more realistic analysis that will
more closely match experimental results.
-
Jones, D.W.,
``An empirical comparison of priority queues and event-set implementations,''
Commun. ACM 29 (1986), 300-311.
A MUST READ for anyone choosing priority queues as a project; the first
serious experimental study. The codes should still be available at the
author's web site. Data presentation is suboptimal here.
-
Knuth, D.E.
The Stanford GraphBase: A Platform for Combinatorial Computing.
Addison-Wesley, Reading Mass., 1993.
From the Master himself! His full software suite is also available by ftp
and includes a lot of interesting data generators. He is mostly concerned
(obviously!) with graph algorithms, but he has time/space to talk about
general experimental approaches, to discuss data structure implementations,
and to present a lot of cute/interesting/challenging data sets.
-
LaMarca, A., and Ladner, R.,
``The influence of caches on the performance of heaps,''
ACM J. of Experimental Algorithmics 1, 4 (1996),
www.jea.acm.org/1996/LaMarcaInfluence. One of the seminal articles on the influence of caching.
If you want a copy, let me know -- I'll email you the file.
-
LaMarca, A., and Ladner, R.,
``The influence of caches on the performance of sorting,''
Proc. 8th ACM/SIAM Symp. on Discrete Algs. (SODA 97), 370-379.
The other seminal article by the same people; less relevant to this
project, since it is about sorting, but a good first look at caching.
-
McGeoch, C.C.,
``Analysis of algorithms by simulation: variance reduction techniques
and simulation speedups,''
ACM Comput. Surveys 24 (1992), 195-212.
Another MUST READ, for those who will collect a lot of data. The author
shows how to use statistical techniques to derive strong estimates of
confidence in the data.
-
McGeoch, C.C., and Moret, B.M.E.,
``How to present a paper on experimental work with algorithms,''
SIGACT News 30, 4 (1999), 85-90. In the library and also available
(under papers) from my web page; intended for conference presentations,
but most of it applies directly to a report as well. Some parts are for
experimental studies of a different nature (optimization, for instance)
and should just be skipped.
-
Moret, B.M.E., ``Towards a discipline of experimental algorithmics,''
to appear in DIMACS Monographs, 2000. Postscript file
available from my web pages under papers. An overview of the whole
business of doing experimental work with algorithms and data structures
with tips on what is worth and what is not worth doing.
-
Moret, B.M.E., and H.D. Shapiro.
Algorithms from P to NP, Volume~I: Design and Efficiency.
Benjamin-Cummings Publishing Co., Menlo Park, CA, 1991.
We pioneered the whole experimental approach to algorithms; our text
contains two experimental studies: on minimum spanning tree algorithms
(and, indirectly, on priority queues) and on sorting. I have the
C code for the MST study and can send it to you. Also a good source of
information on various types of heaps and on splay trees.
-
Moret, B.M.E., and Shapiro, H.D.,
``An empirical assessment of algorithms for constructing a minimal
spanning tree,'' in Computational Support for Discrete Mathematics,
N. Dean and G. Shannon, eds.,
DIMACS Series in Discrete Mathematics and Theoretical Computer Science
15 (1994), 99-117.
The final word on the MST study, also available as a Postscript file
from my web page, under papers.
-
Rönngren, R., and Ayani, R.,
``A comparative study of parallel and sequential priority queue algorithms,''
ACM Trans. Modeling and Computer Simulation 7, 2 (1997), 157-209.
Although we are not interested in parallel versions, this is an easy-to-read
report (a bit long, though!)
-
Stasko, J.T., and Vitter, J.S., ``Pairing heaps: experiments and analysis,''
Commun. ACM 30 (1987), 234-249.
A very detailed early study of variations on this one type of priority
queue; nice paper.