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
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