Thông tin tài liệu
Chng BIU DIN TH Representations of Graphs Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni Biu din th Cú nhiu cỏch biu din Vic la chn cỏch biu din ph thuc vo tng bi toỏn c th cn xột, thut toỏn c th cn ci t Cú hai chớnh cn quan tõm la chn cỏch biu din: B nh m cỏch biu din ú ũi hi Thi gian cn thit tr li cỏc truy thng xuyờn i vi th quỏ trỡnh x lý th: Chng hn: Cú cnh ni hai nh u, v ? Lit kờ cỏc nh k ca nh v ? Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni Ma trn k (Adjacency Matrix) |V| ì |V| ma trn A Cỏc nh c ỏnh s t n |V| theo th t no ú A xỏc nh bi: (i, j ) E A[i, j ] = aij = trái lại n = |V|; m = |E| Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni Ma trn k ca th vụ hng A[u,v] = Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni nu (u,v) E nu trỏi li 1 0 1 0 1 1 0 1 0 0 0 0 Ma trn k ca th cú hng A[u,v] = Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni nu (u,v) E nu trỏi li 5 1 0 0 0 0 1 0 0 0 0 0 0 0 0 Tớnh cht ca ma trn k Gi A l ma trn k ca th vụ hng: A l ma trn i xng: A = AT (aij = aji) deg(v) = Tng cỏc phn t trờn dũng v ca A Nu ký hiu Ak = (a(k)[u,v]) thỡ a(k)[u,v] l s lng ng i t u n v i qua khụng quỏ k-1 nh trung gian Khỏi nim ma trn k cú th m rng biu din a th vụ hng: auv s lng cnh ni hai nh u v v Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni Phõn tớch chi phớ B nh (Space) |V|2 bits (|V|2 + |V|)/2 (nu l th vụ hng, nhng khú ci t) Cỏc thụng tin b sung, chng hn chi phớ trờn cnh, cn c ct gi di dng ma trn Mt cỏch lm khỏc l ct gi tr n cỏc thụng tin ny Thi gian tr li cỏc truy Hai nh i v j cú k nhau? O(1) B sung hoc loi b cnh O(1) B sung nh: tng kớch thc ma trn Lit kờ cỏc nh k ca v O(|V|) (ngay c v l nh cụ lp) Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni Ma trn liờn thuc nh cnh Xét G = (V, E), (V = {1, 2, , n}, E = {e1, e2, , em}), đơn đồ thị có hướng Ma trận liên thuộc đỉnh cạnh A = (aij: i = 1, 2, , n; j = 1, 2, , m), với Ma trận liên thuộc đỉnh-cạnh cách biểu diễn hay sử dụng toán liên quan đến đồ thị có hướng mà phải xử lý cung đồ thị Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni Ma trn liờn thuc nh cnh Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni Ma trn trng s Trong trường hợp đồ thị có trọng số cạnh, thay ma trận kề, để 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 ), (i, j ) E c[i, j ] = (i, j ) E, , giá trị đặc biệt để cặp (i,j) không cạnh, tuỳ trường hợp cụ thể, đặt giá trị sau: 0, +, - Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni 10 Danh sỏch k Danh sỏch k (Adjacency Lists): Vi mi nh v ct gi danh sỏch cỏc nh k ca nú L mng Ke gm |V| danh sỏch Mi nh cú mt danh sỏch Vi mi u V, Ke[u] bao gm tt c cỏc nh k ca u Vớ d: th vụ hng u v w v w u w u v x z y v z th cú hng a y b c Nguyn c Ngha- B mụn KHMT, HBK H ni e b d e x f t Phn Lí THUYT TH b 11 b f c Danh sỏch k ca th vụ hng Vi mi v V, Ke(v) = danh sỏch cỏc nh u: (v, u) E a B C A F D E Nguyn c Ngha- B mụn KHMT, HBK H ni Danh sỏch nh k A B D B A C C B D E D A C E E C D F Phn Lí THUYT TH b 12 B nh = a |V| + b |E| Danh sỏch k ca th cú hng Vi mi v V, Ke(v) = { u: (v, u) E } a B C A F D E b A B B C C D D E D E E F Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni 13 B nh = a |V| + b |E| Yờu cu b nh Tng cng b nh: (|V|+|E|) Thng l nh hn nhiu so vi |V|2, nht l i vi th tha (sparse graph) th tha l th m |E| = k |V| vi k < 10 Chỳ ý: Phn ln cỏc th thc t ng dng l th tha! Cỏch biu din ny c s dng nhiu nht ng dng Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni 14 Biu din th Thi gian tr li cỏc truy vn: Thờm cnh Xoỏ cnh O(1) Duyt qua danh sỏch k ca mi u mỳt Thờm nh Ph thuc vo ci t Lit kờ cỏc nh k ca v: O() (tt hn ma trn k) Hai nh i, j cú k nhau? Tỡm kim trờn danh sỏch: (degree(i)) ỏnh giỏ tỡnh ti nht l O(|V|) => khụng hiu qu (ti hn ma trn k) Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni 15 [...]... Ví dụ: Đồ thị vô hướng u v w v w u w u v x z y v z Đồ thị có hướng a y b c Nguyễn Đức Nghĩa- Bộ môn KHMT, ĐHBK Hà nội e b d e x f t Phần 2 LÝ THUYẾT ĐỒ THỊ b 11 b f c Danh sách kề của đồ thị vô hướng Với mỗi v ∈ V, Ke(v) = danh sách các đỉnh u: (v, u) ∈E a B C A F D E Nguyễn Đức Nghĩa- Bộ môn KHMT, ĐHBK Hà nội Danh sách đỉnh kề A B D B A C C B D E D A C E E C D F Phần 2 LÝ THUYẾT ĐỒ THỊ b 12 Bộ nhớ... 12 Bộ nhớ = a |V| + 2 b |E| Danh sách kề của đồ thị có hướng Với mỗi v ∈ V, Ke(v) = { u: (v, u) ∈ E } a B C A F D E b A B B C C D D E D E E F Phần 2 LÝ THUYẾT ĐỒ THỊ Nguyễn Đức Nghĩa- Bộ môn KHMT, ĐHBK Hà nội 13 Bộ nhớ = a |V| + b |E| Yêu cầu bộ nhớ • Tổng cộng bộ nhớ: Θ(|V|+|E|) • Thường là nhỏ hơn nhiều so với |V |2, nhất là đối với đồ thị thưa (sparse graph) • Đồ thị thưa là đồ thị mà |E| = k |V|... đối với đồ thị thưa (sparse graph) • Đồ thị thưa là đồ thị mà |E| = k |V| với k < 10 • Chú ý: • Phần lớn các đồ thị trong thực tế ứng dụng là đồ thị thưa! • Cách biểu diễn này được sử dụng nhiều nhất trong ứng dụng Phần 2 LÝ THUYẾT ĐỒ THỊ Nguyễn Đức Nghĩa- Bộ môn KHMT, ĐHBK Hà nội 14 Biểu diễn đồ thị • Thời gian trả lời các truy vấn: • Thêm cạnh • Xoá cạnh O(1) Duyệt qua danh sách kề của mỗi đầu mút •... O() (tốt hơn ma trận kề) • Hai đỉnh i, j có kề nhau? • Tìm kiếm trên danh sách: Θ(degree(i)) Đánh giá trong tình huống tồi nhất là O(|V|) => không hiệu quả (tồi hơn ma trận kề) Phần 2 LÝ THUYẾT ĐỒ THỊ Nguyễn Đức Nghĩa- Bộ môn KHMT, ĐHBK Hà nội 15 ... E), (V = {1, 2, , n}, E = {e1, e2, , em}), đơn đồ thị có hướng Ma trận liên thuộc đỉnh cạnh A = (aij: i = 1, 2, , n; j = 1, 2, , m), với Ma trận liên thuộc đỉnh-cạnh cách biểu diễn hay sử dụng... HBK H ni Ma trn trng s Trong trường hợp đồ thị có trọng số cạnh, thay ma trận kề, để 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 ), (i, j ) E c[i,... Ma trận liên thuộc đỉnh-cạnh cách biểu diễn hay sử dụng toán liên quan đến đồ thị có hướng mà phải xử lý cung đồ thị Phn Lí THUYT TH Nguyn c Ngha- B mụn KHMT, HBK H ni Ma trn liờn thuc nh cnh
Ngày đăng: 10/11/2015, 10:14
Xem thêm: chương 2 biểu diễn đồ thị , chương 2 biểu diễn đồ thị