"A street directory with directions" is exactly what Mapquest is 🙂
If you look on the Oracle of Bacon's "How Does It Work?" page, you'll see that they are, in fact, using a shortest-path algorithm - i.e., graph theory.
Because I was curious (and bored), I started deciphering the Mapquest link I posted above, to figure out what the different variables mean. Here's what I've come up with so far.
Var Meaning
do ? (e.g., "nw")
2n Destination county (or "DISTRICT OF COLUMBIA", if in DC)
1y Starting country (e.g., "US")
r ? (e.g., "f")
1z Starting ZIP+4
2a Destination address
mo ? (e.g., "ma")
1si ? (e.g., "navt")
2s Destination state as two-letter code (e.g., "PA")
2c Destination city
1rc ? (e.g., "L1AAA")
1da ?
2si ? (e.g., "navt")
2da ?
2rc ? (e.g, "L1AAA")
1n Starting county (or "DISTRICT OF COLUMBIA", if in DC)
cl language? (e.g., "EN")
2v ? (e.g., "ADDRESS")
did ? (e.g., 1158334461)
1gi ? (e.g., 0)
qq ? (giant hash)
2gi ? (e.g., 0)
1a Starting address
2y Destination country (e.g., "US")
un ? (e.g., "m")
2z Destination ZIP+4
1s Starting state as two-letter code (e.g., "DC")
1c Starting city
go ? (e.g., "1")
rsres ? (e.g., "1")
1v ? (e.g., "ADDRESS")
ct ? (e.g., "NA")
1l ?
1g ?
2l ?
2g ?