Tải bản đầy đủ (.pdf) (22 trang)

Tín hiệu liên thông của đồ thị

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (671.01 KB, 22 trang )

1
T
T


nh lieõn thoõng cu
nh lieõn thoõng cu


a
a


o
o


thũ
thũ
D
D


ụng Anh
ụng Anh
ẹửự
ẹửự
c
c



Nha
Nha


p moõn Ca
p moõn Ca


u tru
u tru


c D
c D


ừ lie
ừ lie


u va
u va


Gia
Gia


i thua
i thua



t
t
2
2
T
T


nh lieõn thoõng cu
nh lieõn thoõng cu


a
a


o
o


thũ
thũ


T
T



nh lieõn thoõng cu
nh lieõn thoõng cu


a
a


o
o


thũ
thũ
.
.


T
T


nh
nh
song
song
lieõn thoõng
lieõn thoõng
.
.



ẹổ
ẹổ
nh khụ
nh khụ


p
p


Ca
Ca


u
u
2
Nha
Nha


c la
c la
ù
ù
i mo
i mo



t so
t so


kha
kha


i nie
i nie


m
m
D
D


ụng Anh
ụng Anh
ẹửự
ẹửự
c
c


Nha
Nha



p moõn Ca
p moõn Ca


u tru
u tru


c D
c D


ừ lie
ừ lie


u va
u va


Gia
Gia


i thua
i thua


t

t
4
4
T
T


nh lieõn thoõng
nh lieõn thoõng




o
o


thũ lieõn thoõng
thũ lieõn thoõng
:
:
mo
mo


t ca
t ca


p

p
ủổ
ủổ
nh ba
nh ba


t ky
t ky


ủử
ủử


ù
ù
c no
c no


i
i
vụ
vụ


i nhau ba
i nhau ba



ng
ng


t nha
t nha


t mo
t mo


t
t
ủử
ủử




ng
ng


i
i
.
.
ẹo thũ lieõn thoõng ẹo thũ khoõng lieõn thoõng

3
D
D


ụng Anh
ụng Anh
ẹửự
ẹửự
c
c


Nha
Nha


p moõn Ca
p moõn Ca


u tru
u tru


c D
c D


ừ lie

ừ lie


u va
u va


Gia
Gia


i thua
i thua


t
t
5
5
T
T


nh lieõn thoõng
nh lieõn thoõng


Tha
Tha



nh pha
nh pha


n lieõn thoõng
n lieõn thoõng
:
:


o
o


thũ
thũ
con
con
lieõn thoõng to
lieõn thoõng to


i
i


a
a
ù

ù
i cu
i cu


a
a
G.
G.
D
D


ụng Anh
ụng Anh
ẹửự
ẹửự
c
c


Nha
Nha


p moõn Ca
p moõn Ca


u tru

u tru


c D
c D


ừ lie
ừ lie


u va
u va


Gia
Gia


i thua
i thua


t
t
6
6
Quan he
Quan he



t
t


ụng
ụng
ủử
ủử
ụng
ụng


Mo
Mo


t
t
quan he
quan he


treõn ta
treõn ta


p hụ
p hụ
ù

ù
p
p
S
S
la
la


ta
ta


p
p
R
R
ca
ca


c ca
c ca


p co
p co


th

th
ửự
ửự
t
t
ửù
ửù
ca
ca


c pha
c pha


n t
n t
ửỷ
ửỷ
cu
cu


a
a
S
S


ũnh ngh

ũnh ngh
ú
ú
a bụ
a bụ


i mo
i mo


t
t
thuo
thuo


c t
c t


nh na
nh na


o
o


o

o




V
V


du
du
ù
ù
:
:


S
S
=
=
{ 1, 2, 3, 4 }
{ 1, 2, 3, 4 }


R
R
=
=
{ (i,j)

{ (i,j)


S
S


S
S
sao cho
sao cho
i < j }
i < j }
=
=
{(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)}
{(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)}
4
D
D


ụng Anh
ụng Anh
ẹửự
ẹửự
c
c



Nha
Nha


p moõn Ca
p moõn Ca


u tru
u tru


c D
c D


ừ lie
ừ lie


u va
u va


Gia
Gia


i thua
i thua



t
t
7
7
Quan he
Quan he


t
t


ụng
ụng
ủử
ủử
ụng
ụng


Mo
Mo


t
t
quan he
quan he



t
t


ụng
ụng
ủử
ủử
ụng
ụng
la
la


quan he
quan he


vụ
vụ


i ca
i ca


c
c

thuo
thuo


c t
c t


nh sau
nh sau
:
:


T
T


nh pha
nh pha


n xa
n xa
ù
ù
: (x,x)
: (x,x)



R
R
,
,


x
x


S
S
(reflexiv
(reflexiv
e)
e)


T
T


nh
nh


o
o



i x
i x
ửự
ửự
ng
ng
:(x,y)
:(x,y)


R
R


(y,x)
(y,x)


R
R
(symmetri
(symmetri
c)
c)


T
T



nh ba
nh ba


c ca
c ca


u
u
:(x,y), (y,z)
:(x,y), (y,z)


R
R


(x,z)
(x,z)


R
R
(transitiv
(transitiv
e)
e)
D
D



ụng Anh
ụng Anh
ẹửự
ẹửự
c
c


Nha
Nha


p moõn Ca
p moõn Ca


u tru
u tru


c D
c D


ừ lie
ừ lie



u va
u va


Gia
Gia


i thua
i thua


t
t
8
8
Quan he
Quan he


t
t


ụng
ụng
ủử
ủử
ụng
ụng



Quan he
Quan he


C
C
treõn ta
treõn ta


p ca
p ca


c
c
ủổ
ủổ
nh cu
nh cu


a
a


o
o



thũ
thũ
:
:


(u,v)
(u,v)


C
C


u
u
va
va


v
v
thuo
thuo


c cu
c cu



ng mo
ng mo


t tha
t tha


nh pha
nh pha


n
n
lieõn thoõng
lieõn thoõng
la
la


quan he
quan he


t
t



ụng
ụng
ủử
ủử
ụng
ụng
.
.
5
DFS
DFS
treõn
treõn


o
o


thũ
thũ
khoõng lieõn thoõng
khoõng lieõn thoõng
D
D


ụng Anh
ụng Anh
ẹửự

ẹửự
c
c


Nha
Nha


p moõn Ca
p moõn Ca


u tru
u tru


c D
c D


ừ lie
ừ lie


u va
u va


Gia

Gia


i thua
i thua


t
t
10
10
DFS
DFS
treõn
treõn


o
o


thũ khoõng lieõn thoõng
thũ khoõng lieõn thoõng
6
D
D
ư
ư
ơng Anh
ơng Anh

Đứ
Đứ
c
c


Nha
Nha
ä
ä
p môn Ca
p môn Ca
á
á
u tru
u tru
ù
ù
c D
c D
ư
ư
õ lie
õ lie
ä
ä
u va
u va
ø
ø

Gia
Gia
û
û
i thua
i thua
ä
ä
t
t
11
11
DFS
DFS
trên
trên
đ
đ
o
o
à
à
thò không liên thông
thò không liên thông
Sau khi thực hiện DFS(1):
k 1 2 3 4 5 6 7
val[k] 1 4 0 2 0 0 3
D
D
ư

ư
ơng Anh
ơng Anh
Đứ
Đứ
c
c


Nha
Nha
ä
ä
p môn Ca
p môn Ca
á
á
u tru
u tru
ù
ù
c D
c D
ư
ư
õ lie
õ lie
ä
ä
u va

u va
ø
ø
Gia
Gia
û
û
i thua
i thua
ä
ä
t
t
12
12
DFS
DFS
trên
trên
đ
đ
o
o
à
à
thò không liên thông
thò không liên thông


Ha

Ha
ø
ø
m
m
đ
đ
e
e
ä
ä
qui
qui
DFS
DFS
thăm ta
thăm ta
á
á
t ca
t ca
û
û
ca
ca
ù
ù
c
c
đỉ

đỉ
nh thuo
nh thuo
ä
ä
c
c
tha
tha
ø
ø
nh pha
nh pha
à
à
n liên thông
n liên thông
.
.


Ca
Ca
à
à
n thêm va
n thêm va
ø
ø
o mo

o mo
ä
ä
t vo
t vo
ø
ø
ng la
ng la
ë
ë
p
p
for
for
đ
đ
e
e
å
å
thăm ta
thăm ta
á
á
t ca
t ca
û
û
ca

ca
ù
ù
c
c
đỉ
đỉ
nh cu
nh cu
û
û
a
a
đ
đ
o
o
à
à
thò
thò
:
:
for
for
k = 1 to N
k = 1 to N
do
do
if

if
(
(
val
val
[k] = 0)
[k] = 0)
then
then
dfs
dfs
(k)
(k)
7
D
D


ụng Anh
ụng Anh
ẹửự
ẹửự
c
c


Nha
Nha



p moõn Ca
p moõn Ca


u tru
u tru


c D
c D


ừ lie
ừ lie


u va
u va


Gia
Gia


i thua
i thua


t
t

13
13
DFS
DFS
treõn
treõn


o
o


thũ khoõng lieõn thoõng
thũ khoõng lieõn thoõng


Ca
Ca


ch bie
ch bie


u dieón ca
u dieón ca


c tha
c tha



nh pha
nh pha


n lieõn thoõng
n lieõn thoõng
:
:


Du
Du


ng ma
ng ma


ng
ng
Comp[1..N]
Comp[1..N]


e
e



bie
bie


u die
u die


n
n
:
:


Comp[k] = i
Comp[k] = i
ne
ne


u
u
ủổ
ủổ
nh
nh
k
k



tha
tha


nh pha
nh pha


n lieõn
n lieõn
thoõng
thoõng
i
i
D
D


ụng Anh
ụng Anh
ẹửự
ẹửự
c
c


Nha
Nha



p moõn Ca
p moõn Ca


u tru
u tru


c D
c D


ừ lie
ừ lie


u va
u va


Gia
Gia


i thua
i thua


t
t

14
14
DFS
DFS
treõn
treõn


o
o


thũ khoõng lieõn thoõng
thũ khoõng lieõn thoõng
Sau khi th
Sau khi th
ửù
ửù
c hie
c hie


n
n
DFS(1)
DFS(1)
:
:
k 1 2 3 4 5 6 7 8
k 1 2 3 4 5 6 7 8

val
val
[k]
[k]
1 1
1 1
2
2
3
3
2
2
3
3
2
2
1
1
8
D
D
ư
ư
ơng Anh
ơng Anh
Đứ
Đứ
c
c



Nha
Nha
ä
ä
p môn Ca
p môn Ca
á
á
u tru
u tru
ù
ù
c D
c D
ư
ư
õ lie
õ lie
ä
ä
u va
u va
ø
ø
Gia
Gia
û
û
i thua

i thua
ä
ä
t
t
15
15
Thua
Thua
ä
ä
t toa
t toa
ù
ù
n
n
DFS
DFS
xa
xa
ù
ù
c
c
đ
đ
ònh ca
ònh ca
ù

ù
c
c
tha
tha
ø
ø
nh pha
nh pha
à
à
n liên thông
n liên thông
Algorithm DFS(v, id)
Input: Một đỉnh v của đồ thò, chỉ
số id của tplt
Output: Gán nhãn id cho tất cả
các đỉnh của tplt
Comp[v] =id;
for (mọi đỉnh k kề với v) do
if Comp[k]= 0 then
Gọi đệ qui DFS(k, id);
Algorithm DFS(v, id)
Algorithm DFS(v, id)
Input:
Input:
Mo
Mo
ä
ä

t
t
đỉ
đỉ
nh
nh
v
v
cu
cu
û
û
a
a
đ
đ
o
o
à
à
thò
thò
,
,
ch
ch


so
so

á
á
id
id
cu
cu
û
û
a tplt
a tplt
Output:
Output:
Ga
Ga
ù
ù
n nhãn
n nhãn
id
id
cho ta
cho ta
á
á
t ca
t ca
û
û
ca
ca

ù
ù
c
c
đỉ
đỉ
nh cu
nh cu
û
û
a tplt
a tplt
Comp[v]
Comp[v]
=id;
=id;
for
for
(
(
mo
mo
ï
ï
i
i
đỉ
đỉ
nh
nh

k
k
ke
ke
à
à


ù
ù
i
i
v)
v)
do
do
if
if
Comp[k]= 0
Comp[k]= 0
then
then
Go
Go
ï
ï
i
i
đ
đ

e
e
ä
ä
qui
qui
DFS(k, id);
DFS(k, id);
D
D
ư
ư
ơng Anh
ơng Anh
Đứ
Đứ
c
c


Nha
Nha
ä
ä
p môn Ca
p môn Ca
á
á
u tru
u tru

ù
ù
c D
c D
ư
ư
õ lie
õ lie
ä
ä
u va
u va
ø
ø
Gia
Gia
û
û
i thua
i thua
ä
ä
t
t
16
16
Thua
Thua
ä
ä

t toa
t toa
ù
ù
n
n
DFS
DFS
xa
xa
ù
ù
c
c
đ
đ
ònh ca
ònh ca
ù
ù
c
c
tha
tha
ø
ø
nh pha
nh pha
à
à

n liên thông
n liên thông
Algorithm
Algorithm
ThanhPhanLT
ThanhPhanLT
Input:
Input:
Đ
Đ
o
o
à
à
thò
thò
G
G
Output:
Output:
Ma
Ma
û
û
ng
ng
Comp
Comp
cho bie
cho bie

á
á
t ca
t ca
ù
ù
c tplt
c tplt
id
id
= 0;
= 0;
for
for
k = 1 to N
k = 1 to N
do
do
Comp[k] = 0;
Comp[k] = 0;
for
for
k = 1 to N
k = 1 to N
do
do
if
if
(Comp[k] = 0)
(Comp[k] = 0)

then
then
id++;
id++;
DFS(k, id);
DFS(k, id);

×