1. Trang chủ
  2. » Giáo Dục - Đào Tạo

chương 2 biểu diễn đồ thị

15 329 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 222 KB

Nội dung

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

TỪ KHÓA LIÊN QUAN

w