CH NG 2ƯƠ
BI U DI N Đ TH TRÊN MÁY TÍNH
1. Ma tr n k , ma tr n tr ng s
Xét đ n đ th G=(V,E)ơ
a) Ma tr n k :
Ma tr n A={ai,j : i,j=1, 2,. . . ,n} v i ai, j = 0, n u (i,j) ế
E và ai,j = 1 , n u (i,j) ế
E, i, j=1, 2,. . .,n.
g i là ma tr n k c a đ th G.
Ví d :
* Tính ch t c a ma tr n k c a đ th vô h ng: ướ
- Tính đ i x ng: a[i,j]=a[j,i], i,j=1,2,. . .,n.
- T ng các ph n t trên dòng i (c t j) b ng b c c a đ nh i nh j).
- G i ajp , i,j=1, 2,. . . ,n là ph n t c a ma tr n A p =A.A. . .A (p th a s )
Khi đó: a jp , i,j=1, 2,. . . ,n là s đ ng đi khác nhau t đ nh i đ n đ nh j qua p-1 đ nh trung gian. ườ ế
* Tính ch t c a ma tr n k c a đ th có h ng: ướ
- Không có tính đ i x ng
- T ng các ph n t trên ng i b ng bán b c ra c a đ nh i t ng các ph n t trên c t j b ng bán
b c vào c a đ nh j.
- Gi ng t/ch 3 c a vô h ng ướ
1
Hình 1. Đ th h ng G và Đ th h ng ướ ướ
G11
123456
1011000
2000000
3010100
4000000
5000101
6000010
Ma tr n k c a G 1
123456
1011010
2101010
3110100
4001011
5110101
6000110
Ma tr n k c a G
* Ma tr n k c a đa đ th : a[i,j]=s c nh (cung) n i hai đ nh i, j.
b) Ma tr n tr ng s :
Đ th tr ng s đ th m i c nh (i,j) m t giá tr c(i,j) g i tr ng s c a c nh. Đ bi u
di n đ th ta s d ng ma tr n tr ng s C= {c[i,j], i,j=1, 2,. . .,n}
v i
c[i,j]=c(i,j) n u (i,j)ế
E và c[i,j]=
θ
n u (i,j) ế
E
trong đó s
θ
th đ c đ t b ng m t trong các giá tr sau: 0, + ượ
, -
.
u đi m l n nh t c a ph ng pháp bi u di n đ th b ng ma tr n k (ho c ma tr n tr ng s ) là đƯ ươ
tr l i câu h i: Hai đ nh u,v có k nhau trên đ th hay không, chúng ta ch ph i th c hi n m t phép so
sánh. nh c đi m l n nh t c a ph ng pháp này là: không ph thu c vào s c nh c a đ th , ta luônượ ươ
ph i s d ng n 2 đ n v b nh đ l u tr ma tr n k c a nó.ơ ư
2. Ma tr n liên thu c đ nh-c nh
Xét G=(V, E) là đ n đ th có h ng. Ma tr n liên thu c đ nh-c nh có d ng:ơ ướ
Ví d : Hinh 2
3. Danh sách c nh (cung)
Trong tr ng h p đ th th a (đ th s c nh m tho n b t d ng th c: m<6n) ng i ta th ngườ ư ườ ườ
ng cách bi u di n đ th d i d ng danh sách c nh. ướ
Chúng ta s l u tr danh sách t t c các c nh (cung) c a đ th . M t c nh (cung) e=(x,y) c a đ th ư
s t ng ng v i hai bi n Dau[e], Cuoi[e]. Nh v y, đ l u tr đ th ta c n s d ng 2m đ n v b ươ ế ư ư ơ
nh . Nh c đi m c a cách bi u di n này tìm các đ nh k v i m t đ nh cho tr c chúng ta ph i làm ượ ướ
c m phép so nh (khi duy t qua danh sách t t c các c nh c a đ th ). Trong tr ng h p đ th ườ
tr ng s ta c n thêm m đ n v b nh đ l u tr tr ng s c a các c nh. ơ ư
Ví d :
2
1, n u i là đ nh đ u c a cung eế j
-1, n u i là đ nh cu i c a cung eế j
0, n u i không là đ u mut c a cung eế j
aij =
1
2
4
6
5
3
(1,2) (1,3) (2,3) (2,4) (3,5) (4,5) (4,6) (5,2) (5,6)
11 10000000
2-1011000-10
30-1-1010000
A=4000-101100
50000-10011
6000000-10-1
D/s c nh (cung) c a G (G 1) (nh 1)
Dau Cuoi Dau Cuoi
1 2 1 2
1 3 1 3
1 5 3 2
2 3 3 4
2 5 5 4
3 4 5 6
4 5 6 5
4 6
5 6
D/s c nh c a G D/s cung c a G1
4. Danh sách k
V i m i đ nh v, ta l u tr danh sách các đ nh k v i v: Ke(v)={u ư
V: (v,u)
E}
Ví d :
Danh sách k c a G (hình 1 )
Đ nh đ u
Trong cách bi u di n này chúng ta c n ph i s d ng c m+n đ n v b nh . ơ
3
Danh sách k c a G1 (hình 1)
Đ nh đ u