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