Introduction to Algorithms, Third Edition


All-Pairs Shortest Paths



Download 4,84 Mb.
Pdf ko'rish
bet450/618
Sana07.04.2022
Hajmi4,84 Mb.
#534272
1   ...   446   447   448   449   450   451   452   453   ...   618
Bog'liq
Introduction-to-algorithms-3rd-edition

25
All-Pairs Shortest Paths
In this chapter, we consider the problem of finding shortest paths between all pairs
of vertices in a graph. This problem might arise in making a table of distances be-
tween all pairs of cities for a road atlas. As in Chapter 24, we are given a weighted,
directed graph
G
D
.V; E/
with a weight function
w
W
E
!
R
that maps edges
to real-valued weights. We wish to find, for every pair of vertices
u; 
2
V
, a
shortest (least-weight) path from
u
to
, where the weight of a path is the sum of
the weights of its constituent edges. We typically want the output in tabular form:
the entry in
u
’s row and
’s column should be the weight of a shortest path from
u
to
.
We can solve an all-pairs shortest-paths problem by running a single-source
shortest-paths algorithm
j
V
j
times, once for each vertex as the source. If all
edge weights are nonnegative, we can use Dijkstra’s algorithm.
If we use
the linear-array implementation of the min-priority queue, the running time is
O.V
3
C
VE/
D
O.V
3
/
. The binary min-heap implementation of the min-priority
queue yields a running time of
O.VE
lg
V /
, which is an improvement if the graph
is sparse. Alternatively, we can implement the min-priority queue with a Fibonacci
heap, yielding a running time of
O.V
2
lg
V
C
VE/
.
If the graph has negative-weight edges, we cannot use Dijkstra’s algorithm. In-
stead, we must run the slower Bellman-Ford algorithm once from each vertex. The
resulting running time is
O.V
2
E/
, which on a dense graph is
O.V
4
/
. In this chap-
ter we shall see how to do better. We also investigate the relation of the all-pairs
shortest-paths problem to matrix multiplication and study its algebraic structure.
Unlike the single-source algorithms, which assume an adjacency-list represen-
tation of the graph, most of the algorithms in this chapter use an adjacency-
matrix representation. (Johnson’s algorithm for sparse graphs, in Section 25.3,
uses adjacency lists.) For convenience, we assume that the vertices are numbered
1; 2; : : : ;
j
V
j
, so that the input is an
n
n
matrix
W
representing the edge weights
of an
n
-vertex directed graph
G
D
.V; E/
. That is,
W
D
.w
ij
/
, where


Chapter 25
All-Pairs Shortest Paths
685
w
ij
D
0
if
i
D
j ;
the weight of directed edge
.i; j /
if
i
¤
j
and
.i; j /
2
E ;
1
if
i
¤
j
and
.i; j /
62
E :
(25.1)
We allow negative-weight edges, but we assume for the time being that the input
graph contains no negative-weight cycles.
The tabular output of the all-pairs shortest-paths algorithms presented in this
chapter is an
n
n
matrix
D
D
.d
ij
/
, where entry
d
ij
contains the weight of a
shortest path from vertex
i
to vertex
j
. That is, if we let
ı.i; j /
denote the shortest-
path weight from vertex
i
to vertex
j
(as in Chapter 24), then
d
ij
D
ı.i; j /
at
termination.
To solve the all-pairs shortest-paths problem on an input adjacency matrix, we
need to compute not only the shortest-path weights but also a

Download 4,84 Mb.

Do'stlaringiz bilan baham:
1   ...   446   447   448   449   450   451   452   453   ...   618




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish