1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thiết kế và cài đặt thuật toán xây dựng cây khung theo chiều rộng BFS pps

3 1,4K 12

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 42 KB

Nội dung

Thiết kế và cài đặt thuật toán xây dựng cây khung theo chiều rộng BFS: 1.Thuật toán: 1.1 Tư tưởng của thuật toán: -Xuất phát từ đỉnh u, và khởi tạo tập các cạnh của cây khung F là rỗng

Trang 1

Thiết kế và cài đặt thuật toán xây dựng cây khung theo chiều rộng BFS:

1.Thuật toán:

1.1 Tư tưởng của thuật toán:

-Xuất phát từ đỉnh u, và khởi tạo tập các cạnh của cây khung F là rỗng.

-Sử dụng một hàng đợi để lưu các đỉnh sẽ được duyệt trong tương lai.Thực hiện các thuật toán như làm với phương pháp duyệt theo chiều rộng.

- Khi đỉnh v nào được đưa vào trong hàng đợi,thì ta bổ sung cạnh (u,v) vào tập F.

Thuật toán được mô tả như sau:

Procedure stree_BFS(u);

(*tìm kiếm theo chiều rộng áp dụng tìm tập cạnh của cây khung F của đồ thị vô hướng liên thông G cho bởi danh sách kề*) Begin

Queue := Ø; Queue ← u;

Chuaxet[u]:=false;

While Queue ≠ Ø do

Begin

v← Queue ;

For W ke(v) do

If chuaxet[v] then

Begin

Queue ← v;

Chuaxet[u]:=false;

F:=F U (u,v);

End;

End;

End;

(* main program*) ;

BEGIN

For u thuoc V do

Chuaxet[u]:=true;

(*F la tap canh cua cay khung *)

F:= Ø;

(* root la mot dinh tuy y cua do thi*)

Stree_BFS(root);

END.

(độ phức tạp của thuật toán này : O( m +n ))

Ví dụ: Cho đồ thị sau:

Tìm cây khung của đồ thị sử dụng phương pháp tìm kiếm theo chiều rộng

Trang 2

Bài làm :

- Đưa đỉnh 1 vào hàng đợi, khởi tạo tập F là rỗng Bắt đầu quá trình lặp

- Sau khi lấy đỉnh 1 từ hàng đợi, các đỉnh {2,3} đưa vào hàng đợi , dẫn đến các cạnh (1,2) và (1,3) sẽ đưa vào tập F

- Lấy đỉnh 2 từ hàng đợi, các đỉnh {4,5} đưa vào hàng đợi, dẫn đến các cạnh (2,4) và (2,5) được đưa vào tập F

- Lấy đỉnh 3 từ hàng đợi, các đỉnh {6,7} đưa vào hàng đợi, dẫn đến các cạnh (3,6) và (3,7) được đưa vào tập F

- Lấy 4 từ hàng đợi, đỉnh {8} được đưa vào hàng đợi, và cạnh (4,8) được đưa vào tập F

- Lấy 5 từ hàng đợi, đỉnh {9} được đưa vào hàng đợi, và cạnh (5,9) được đưa vào tập F

- Lấy 6 từ hàng đợi, đỉnh {10,11} được đưa vào hàng đợi, các cạnh (6,10) và (6,11) được đưa vào tập F

- Lấy các đỉnh 7, 8, 9, 10, 11 ra từ hàng đợi mà không bổ sung thêm cạnh nào vào tập F

Như vậy cây khung của đồ thị thu được từ thuật toán BFS bao gồm các cạnh sau:

3

4

2

8

6

9

Trang 3

3

4

2

8

6

9

Ngày đăng: 08/07/2014, 07:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w