DANH M C HÌNH V
Trang
Hình 1.1 Đ th hàm s y = sinx ......................................................................4
Hình 1.2 Đ th bi u di n ví d 1 ...................................................................5
Hình 1.3 Đ th bi u di n ví d 2 ...................................................................6
Hình 1.4 Đ th bi u di n ví d 3 ...................................................................6
Hình 1.5 Bi u di n ph ng c a Graph .............................................................7
Hình 1.6 Bi u di n Graph con và Graph thành ph n ......................................8
Hình 1.7 Bi u di n b c c a đ nh .....................................................................9
Hình 1.8 Dãy c nh k ti p ế ế ...............................................................................9
Hình 1.9 Bi u di n c nh có h ng ướ ...............................................................12
Hình 2.1 Ma tr n k đ th vô h ng không tr ng s và đ th có h ng có ướ ướ
tróng s...........................................................................................................14
Hình 2.2 Bi u di n cài đ t đ th b ng danh sách c nh trên m ng và trên
danh sách móc n i..........................................................................................17
Hình 2.3 Đ th vô h ng không tr ng s ướ ....................................................20
Hình 2.4 Bi u di n Graph b ng danh sách k ..............................................22
Hình 2.5 Đ th vô h ng ướ ..............................................................................24
Hình 2.6 Ma tr n k đ th tr ng s vô h ng và đ th tr ng s có h ng ướ ướ
31
Hình 2.7a Đ th tr ng s có h ng ướ .............................................................31
Hình 2.7b Bi u di n đ th tr ng s b ng danh sách lân c n k .................31
Hình 2.8 Đ th vô h ng có tr ng s ướ ví d 4..............................................33
Hình 2.9 Cây khung DFS(1) và cây khung BFS(1)........................................37
Hình 2.10 Đ th vô h ng có tr ng s ướ ví d 5............................................40
M C L C
Trang
M Đ U ..........................................................................................................1
Ch ng 1ươ
M T S V N Đ V LÝ THUY T GRAPH ...........................................4
1.1. Khái ni m c b n v graph ơ ...................................................................4
1.1.1. Nh ng bài toán và v n đ d n đ n khái ni m graph [1] ế ...............4
1.1.2. Đ nh nghĩa graph và các khái ni m c b n ơ .....................................7
1.1.3. Graph con và graph thành ph n.......................................................8
1.2. Phân lo i graph.......................................................................................9
1.2.1. Graph vô h ngướ ...............................................................................9
1.2.2. Graph có h ngướ .............................................................................12
1.3. K t lu n ch ng 1ế ươ ...............................................................................13
Ch ng 2ươ
M T S THU T TOÁN C B N TRÊN GRAPH Ơ ...............................14
2.1. Bi u di n graph trên máy tính ............................................................14
2.1.1. Bi u di n b ng ma tr n lân c n [6] .............................................14
2.1.2. Bi u di n b ng danh sách c nh [6] ..............................................17
2.1.3. Bi u di n danh sách lân c n [6] ....................................................19
2.2. Phép duy t m t graph ..........................................................................24
2.2.1. Tìm ki m theo chi u sâuế ...............................................................25
2.2.2. Tìm ki m theo chi u r ngế .............................................................26
2.2.3. Tìm đ ng đi và ki m tra tính liên thông c a đ thườ ....................28
2.3. Đ th tr ng s .....................................................................................30
2.3.1. Khái ni m.......................................................................................30
2.3.2. Bi u di n đ th tr ng s ..............................................................30
2.4. Đ ng đi trên đ th tr ng sườ ..............................................................32
2.4.1. Thu t toán tìm đ ng đi ng n nh t t m t đ nh đ n t t c các ườ ế
đ nh khác..................................................................................................32
Đ ph c t p c a gi i thu t: Thu t toán Dijkstra tìm đ c đ ng đi ượ ườ
ng n nh t trên đ th sau th i gian c O(n2). [2] ...................................33
d 4: Cho đ th h ng tr ng s G trong hình 2.8 d i đ y. ướ ướ
Tìm đ ng đi ng n nh t t đ nh 1 đ n t t c các đ nh khác trong G.ườ ế ..33
Ma tr n tr ng s c a đ th có d ng: .....................................................33
K t qu tính toán theo thu t toán đ c trình bày trong b ng d i đây.ế ượ ướ
Quy c vi t hai thành ph n c a nhãn theo th t : d[v], Truoc[v]. Đ nhướ ế
đ c đánh d u ‘*’ là đ nh đ c ch n đ c đ nh nhãn b c l p đangượ ượ ướ
xét, nhãn c a không bi n đ i các b c ti p theo, th ta đánh ế ướ ế ế
d u -.........................................................................................................34
B c l pướ ..................................................................................................34
Đ nh 1.......................................................................................................34
Đ nh 2.......................................................................................................34
Đ nh 3.......................................................................................................34
Đ nh 4.......................................................................................................34
Kh i t o ...................................................................................................34
0, 1............................................................................................................34
10, 1..........................................................................................................34
6, 1............................................................................................................34
2, 1*..........................................................................................................34
1................................................................................................................34
-.................................................................................................................34
5, 4............................................................................................................34
3, 4 *.........................................................................................................34
-.................................................................................................................34
2................................................................................................................34
-.................................................................................................................34
5, 4 *.........................................................................................................34
-.................................................................................................................34
-.................................................................................................................34
.................................................................................................................34
Nh n xét: T b ng k t qu ta th truy xu t ra đ c đ ng đi t ế ượ ườ
đ nh 1 t i t t c các đ nh còn l i trong đ th nh sau: ư .........................34
Đ ng đi t đ nh 1 t i đ nh 2: ườ ................................................................34
Ta đ nh tr c đ nh 2 Truoc[2] = 4 v y 4 đ nh tr c đ nh 2 trên ướ ướ
đ ng đi này.ườ ...........................................................................................34
Tr c đ nh 4 Truoc[4] = 1 v y 1 đ nh tr c đ nh 4 trên đ ng điướ ướ ườ
này............................................................................................................34
D ng, ta thu đ c đ ng đi ng n nh t t đ nh 1 t i đ nh 2 là: ượ ườ ............34
1 – 4 – 2 v i đ dài đ ng đi ng n nh t là d[2] = 5. ườ ..........................34
T ng t ta có các đ ng đi sau:ươ ườ ............................................................34
Đ ng đi ng n nh t t đ nh 1 đ n đ nh 3 là: 1 – 4 – 3 v i đ dài đ ngườ ế ườ
đi ng n nh t là d[3] = 3. ..........................................................................34
Đ ng đi ng n nh t t đ nh 1 đ n đ nh 4 là: 1 – 4 v i đ dài đ ng điườ ế ườ
ng n nh t là d[4]=2. ................................................................................34
2.4.2. Thu t toán Floyd tìm đ ng đi ng n nh t gi a t t c các c p ườ
đ nh...........................................................................................................34
- Kh i t o: ..................................................................................................36
.....................................................................................................................36
Nh n xét: Đ ng đi t đ nh 1 t i các đ nh còn l i trong đ th : ườ ...............36
Đ ng đi t đ nh 1 đ n đ nh 2: ườ ế .................................................................36
Tr c 2 là p[1,2]=4 v y 4 là đ nh tr c 2 trên đ ng đi này. ướ ướ ườ ..................36
Tr c 4 là p[1,4]=0, v y đ nh 1 đ ng tr c đ nh 4 trên đ ng đi này.ướ ướ ườ ....36
D ng, đ ng đi thu đ c là: 1 4 2 v i đ dài đ ng đi d[1,2] = 5. ườ ượ ườ
......................................................................................................................36
T ng t ta tìm đ c đ ng đi ng n nh t t đ nh 1 đ n đ nh 3 là: 1 – 4 –ươ ượ ườ ế
3 v i đ dài d[1,3] = 3. ...............................................................................37
Do p[1,4] = 0 nên đ ng đi t đ nh m t t i đ nh 4 đ ng đi tr c ti pườ ườ ế
v i đ dài là p[1,4]= 2. ................................................................................37
Đ tìm đ ng đi gi a t t c c p đ nh còn l i trong đ th ta làm t ng ườ ươ
t ..................................................................................................................37
2.5. Cây khung và cây khung v i giá tr c c ti u .......................................37
2.6. K t lu n ch ng 2ế ươ ...............................................................................46
Ch ng 3ươ
NG D NG GRAPH GI I M T S BÀI TOÁN TRONG ...................47
CH NG TRÌNH TIN H C PH THÔNGƯƠ ............................................47
3.1. Gi i thi u m t s bài toán v đ th trong ch ng trình tin h c trung ươ
h c ph thông ..............................................................................................47
3.2. M t s bài toán v phép duy t đ th .................................................47
3.2.1. Bài toán 1- Đ m s thành ph n liên thông [4]ế ..............................48
3.2.2. Bài toán 2 - D ti c ....................................................................50
3.2.3. Bài toán 3 - B n đ [2] ..................................................................52
3.3. M t s bài toán v đ ng đi trong đ th ườ ...........................................53
3.3.1. Bài toán 1 - Đ ng đi [4]ườ ...............................................................53
3.3.2. Bài toán 2 - Du l ch [4]...................................................................56
3.3.3. Bài toán 3 - Đ n tr ng [7]ế ườ ...........................................................58
3.4. M t s bài toán v cây khung đ th ...................................................61
3.4.1. Bài toán 1 - D án.........................................................................61
3.4.2. Bài toán 2 - Thay h th ng [4] ......................................................64
3.4.3. Bài toán 3 – Bão S n Tinhơ.............................................................67
3.5. K t lu n ch ng 3ế ươ ...............................................................................70