Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site down.FUN
Path: utzoo!watmath!clyde!burl!ulysses!allegra!princeton!tilt!down!honey
From: honey@down.FUN (code 101)
Newsgroups: net.mail
Subject: Re: definitions for LOCAL, DEMAND, DAILY, etc
Message-ID: <425@down.FUN>
Date: Mon, 21-Jan-85 00:59:10 EST
Article-I.D.: down.425
Posted: Mon Jan 21 00:59:10 1985
Date-Received: Mon, 21-Jan-85 07:54:44 EST
References: <700@cbosgd.UUCP> <2308@garfield.UUCP> <422@down.FUN> <11709@gatech.UUCP>
Distribution: net
Organization: Princeton University, EECS
Lines: 24

The algorithm used by pathalias doesn't seem to have a name.  Sometime
last summer, it struck me that since the graph is sparse (4000 nodes,
20,000 edges), Dijkstra's algorithm, which always takes time
O(v squared) must lose to one that uses a priority queue.  (Think of
breadth-first search, with a priority queue instead of a regular
queue.  120 sophomores implemented this algorithm in my data structures
course this past term, so it can't be too hard, right?)

Because the graph is sparse, i.e., e is O(v), this takes time
O(v log v).  In practice, changing the original algorithm, which was
Dijkstra's, better than halved the running time of pathalias.

I seem to have discovered this algorithm, notwithstanding the fact that
it's mentioned in Aho, Hopcroft and Ullman's Data Structures text as a
variation on Dijkstra's (without a reference).  Or the fact that
Sedgewick tells me that he also discovered it, years ago.  People in
the know tell me it's probably in Don Johnson's bible, er, thesis.
(Can someone at Penn State ask for me?)

I don't know anything about a "heuristic lookahead" method -- what did
you have in mind?  Not that it really matters, since the big bottleneck
in pathalias is parsing, not mapping.

	Peter