Introduction to Algorithms, Third Edition


for each u 2 G: V 5 if



Download 4,84 Mb.
Pdf ko'rish
bet427/618
Sana07.04.2022
Hajmi4,84 Mb.
#534272
1   ...   423   424   425   426   427   428   429   430   ...   618
Bog'liq
Introduction-to-algorithms-3rd-edition

for
each
u
2
G:
V
5
if
u:
mark
==
FALSE
6
choose
2
G:
Adj
Œu
such that
.u; /:
c
is minimized
7
U
NION
.u; /
8
T
D
T
[ f
.u; /:
orig
g
9
u:
mark
D
:
mark
D
TRUE
10
G
0
:
V
D f
F
IND
-S
ET
./
W
2
G:
V
g
11
G
0
:
E
D ;
12
for
each
.x; y/
2
G:
E
13
u
D
F
IND
-S
ET
.x/
14
D
F
IND
-S
ET
.y/
15
if
.u; /
62
G
0
:
E
16
G
0
:
E
D
G
0
:
E
[ f
.u; /
g
17
.u; /:
orig
0
D
.x; y/:
orig
18
.u; /:c
0
D
.x; y/:
c
19
else if
.x; y/:
c
< .u; /:c
0
20
.u; /:
orig
0
D
.x; y/:
orig
21
.u; /:c
0
D
.x; y/:
c
22
construct adjacency lists
G
0
:
Adj
for
G
0
23
return
G
0
and
T


640
Chapter 23
Minimum Spanning Trees
a.
Let
T
be the set of edges returned by MST-R
EDUCE
, and let
A
be the minimum
spanning tree of the graph
G
0
formed by the call MST-P
RIM
.G
0
; c
0
; r/
, where
c
0
is the weight attribute on the edges of
G
0
:
E
and
r
is any vertex in
G
0
:
V
. Prove
that
T
[ f
.x; y/:
orig
0
W
.x; y/
2
A
g
is a minimum spanning tree of
G
.
b.
Argue that
j
G
0
:
V
j j
V
j
=2
.
c.
Show how to implement MST-R
EDUCE
so that it runs in
O.E/
time. (
Hint:
Use simple data structures.)
d.
Suppose that we run
k
phases of MST-R
EDUCE
, using the output
G
0
produced
by one phase as the input
G
to the next phase and accumulating edges in
T
.
Argue that the overall running time of the
k
phases is
O.kE/
.
e.
Suppose that after running
k
phases of MST-R
EDUCE
, as in part (d), we run
Prim’s algorithm by calling MST-P
RIM
.G
0
; c
0
; r/
, where
G
0
, with weight at-
tribute
c
0
, is returned by the last phase and
r
is any vertex in
G
0
:
V
. Show how
to pick
k
so that the overall running time is
O.E
lg lg
V /
. Argue that your
choice of
k
minimizes the overall asymptotic running time.
f.
For what values of
j
E
j
(in terms of
j
V
j
) does Prim’s algorithm with preprocess-
ing asymptotically beat Prim’s algorithm without preprocessing?
23-3
Bottleneck spanning tree
A
bottleneck spanning tree
T
of an undirected graph
G
is a spanning tree of
G
whose largest edge weight is minimum over all spanning trees of
G
. We say that
the value of the bottleneck spanning tree is the weight of the maximum-weight
edge in
T
.
a.
Argue that a minimum spanning tree is a bottleneck spanning tree.
Part (a) shows that finding a bottleneck spanning tree is no harder than finding
a minimum spanning tree. In the remaining parts, we will show how to find a
bottleneck spanning tree in linear time.
b.
Give a linear-time algorithm that given a graph
G
and an integer
b
, determines
whether the value of the bottleneck spanning tree is at most
b
.
c.
Use your algorithm for part (b) as a subroutine in a linear-time algorithm for
the bottleneck-spanning-tree problem. (
Hint:
You may want to use a subroutine
that contracts sets of edges, as in the MST-R
EDUCE
procedure described in
Problem 23-2.)


Notes for Chapter 23
641
23-4
Alternative minimum-spanning-tree algorithms
In this problem, we give pseudocode for three different algorithms. Each one takes
a connected graph and a weight function as input and returns a set of edges
T
. For
each algorithm, either prove that
T
is a minimum spanning tree or prove that
T
is
not a minimum spanning tree. Also describe the most efficient implementation of
each algorithm, whether or not it computes a minimum spanning tree.
a.
M
AYBE
-MST-A
.G; w/
1
sort the edges into nonincreasing order of edge weights
w
2
T
D
E
3
for
each edge
e
, taken in nonincreasing order by weight
4
if
T
f
e
g
is a connected graph
5
T
D
T
f
e
g
6
return
T
b.
M
AYBE
-MST-B
.G; w/
1
T
D ;
2
for
each edge
e
, taken in arbitrary order
3
if
T
[ f
e
g
has no cycles
4
T
D
T
[ f
e
g
5
return
T
c.
M
AYBE
-MST-C
.G; w/
1
T
D ;
2
for
each edge
e
, taken in arbitrary order
3
T
D
T
[ f
e
g
4
if
T
has a cycle
c
5
let
e
0
be a maximum-weight edge on
c
6
T
D
T
f
e
0
g
7
return
T
Chapter notes
Tarjan [330] surveys the minimum-spanning-tree problem and provides excellent
advanced material. Graham and Hell [151] compiled a history of the minimum-
spanning-tree problem.
Tarjan attributes the first minimum-spanning-tree algorithm to a 1926 paper by
O. Bor˙uvka. Bor˙uvka’s algorithm consists of running
O.
lg
V /
iterations of the


642
Chapter 23
Minimum Spanning Trees
procedure MST-R
EDUCE
described in Problem 23-2. Kruskal’s algorithm was
reported by Kruskal [222] in 1956. The algorithm commonly known as Prim’s
algorithm was indeed invented by Prim [285], but it was also invented earlier by
V. Jarn´ık in 1930.
The reason underlying why greedy algorithms are effective at finding minimum
spanning trees is that the set of forests of a graph forms a graphic matroid. (See
Section 16.4.)
When
j
E
j D
.V
lg
V /
, Prim’s algorithm, implemented with Fibonacci heaps,
runs in
O.E/
time. For sparser graphs, using a combination of the ideas from
Prim’s algorithm, Kruskal’s algorithm, and Bor˙uvka’s algorithm, together with ad-
vanced data structures, Fredman and Tarjan [114] give an algorithm that runs in
O.E
lg
V /
time. Gabow, Galil, Spencer, and Tarjan [120] improved this algo-
rithm to run in
O.E
lg lg
V /
time. Chazelle [60] gives an algorithm that runs
in
O.E
y
˛.E; V //
time, where
y
˛.E; V /
is the functional inverse of Ackermann’s
function. (See the chapter notes for Chapter 21 for a brief discussion of Acker-
mann’s function and its inverse.) Unlike previous minimum-spanning-tree algo-
rithms, Chazelle’s algorithm does not follow the greedy method.
A related problem is

Download 4,84 Mb.

Do'stlaringiz bilan baham:
1   ...   423   424   425   426   427   428   429   430   ...   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