Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
622,67 KB
Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này
Nội dung
ð th (Graph) Nguy n Phương Thái B môn Khoa H c Máy Tính – Khoa CNTT Trư ng ð i h c Công ngh - ðHQGHN Email: thainp@vnu.edu.vn ð th (graph) • G = (V, E) – V: T p ñ nh – E = { (u,v) | u, v ∈ V}: T p c nh Ví d : Bi u di n b n ñ ñư ng ñi thành ph b ng ñ th G = (V, E) – V: T p h p ñi m thành ph – E: T p h p ñư ng ñi thành ph , m i ñư ng ñi n i hai ñi m ð th có hư ng khơng có hư ng (directed and undirected graph) G = (V, E) đ th khơng có hư ng n u (u, v) ∈ E (v, u) ∈ E ð th có tr ng s khơng có tr ng s (weighted and unweighted graph) G = (V, E) đ th có tr ng s n u m i c nh (u, v) ∈ E ñư c gán m t giá tr ð th có chu trình khơng chu trình (cyclic and acyclic graph) ð th khơng có nhãn đ th có nhãn (unlabled and labled graph) Friend graph B c c a ñ nh (vertex degree) Bi u di n ñ th G = (V, E); V = {0, 1,…, n-1} • Bi u di n b ng ma tr n li n k A – A[u][v] = n u có cung (u,v) – A[u][v] = n u khơng có cung (u,v) 0 1 0 0 1 0 1 0 0 0 Bi u di n ñ th G = (V, E); V = {0, 1,…, n-1} • Bi u di n b ng danh sách k ði qua ñ th theo chi u r ng (Breadth first search) • ði qua t t c ñ nh c a ñ th , m i đ nh m t l n • B t ñ u xu t phát t m t ñ nh s, l n lư t thăm ñ nh li n k v i s Ti p t c q trình thăm đ nh theo ngun t c: ð nh đư c thăm trư c ñ nh li n k v i ñ nh ñó s đư c thăm trư c • Xem ví d http://www.cs.princeton.edu/~wayne/cs423/lectures.html ði qua ñ th theo chi u r ng (Breadth first search) //ði qua ñ th theo b r ng xu t phát t v BreadthFirstSearch (v) { (1) Kh i t o hàng ñ i Q r ng; (3) Xen v vào hàng ñ i Q; (2) ðánh d u ñ nh v ñã ñư c thăm; (4) while (hàng đ i Q khơng r ng) { (5) L y ñ nh w ñ u hàng ñ i Q; (6) for (m i ñ nh u k w) (7) if ( u chưa ñư c thăm) { (8) Xen u vào hàng đ i Q; (9) ðánh d u u ñã ñư c thăm; } (10) Lo i w kh i hàng ñ i Q } // h t vòng l p while } ði qua ñ th theo chi u r ng (Breadth first search) // ði qua ñ th G=(V, E) theo b r ng BreadthFirstSearch_traversal (G) { (10) for (m i v ∈V) (11) ðánh d u v chưa ñư c thăm; (12) for (m i v ∈V) (13) if (v chưa ñư c thăm) (14) BreadthFirstSearch(v); } ði qua ñ th theo chi u sâu (Depth first search) //ði qua ñ th theo chi u sâu xu t phát t v DepthFirstSearch (v) { for (m i ñ nh u k v i v) if (u chưa ñư c thăm) { thăm u ñánh d u u ñã ñư c thăm DepthFirstSearch (u) } } Xem ví d http://www.cs.princeton.edu/~wayne/cs423/lectures.html ði qua ñ th theo chi u sâu (Depth first search) // ði qua ñ th G=(V, E) theo chi u sâu DepthFirstSearch_traversal (G) { (10) for (m i v ∈V) (11) ðánh d u v chưa ñư c thăm; (12) for (m i v ∈V) (13) if (v chưa ñư c thăm) (14) DepthFirstSearch(v); } ... V = {0, 1,…, n-1} • Bi u di n b ng ma tr n li n k A – A[u][v] = n u có cung (u,v) – A[u][v] = n u khơng có cung (u,v) 0 1 0 0 1 0 1 0 0 0 Bi u di n ñ th G = (V, E); V = {0, 1,…, n-1} • Bi u di