1. Trang chủ
  2. » Giáo án - Bài giảng

BFS Tìm kiếm theo chiều rộng

35 161 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 35
Dung lượng 912,91 KB

Nội dung

Chủ Đề: Thuật tốn BFS ứng dụng Nhóm 1: Bạch Ngọc Hiệp Nguyễn Duy Long Phạm Quang Hưng  Mục lục: • Thuật tốn BFS (Breadth First Search)  Ý tưởng  Các bước thực – giải mã  Ví dụ  Đánh giá phương pháp • Ứng dụng thuật tốn BFS vào số tốn • Tìm đường hai đỉnh đồ thị • Kiểm tra tính chất liên thơng đồ thị • Tìm khung đồ thị • Tài liệu tham khảo • Chương trình mơ thuật toán BFS (Breadth First Search)  Ý tưởng:  Cho đỉnh bắt đầu duyệt (A), lập lịch duyệt đỉnh kề với A Cứ duyệt theo thứ tự từ gần đến xa  Sử dụng cấu trúc Queue để nạp đỉnh cần duyệt BFS  Thực giải thuật  Để ghi nhận trạng thái duyệt đỉnh đồ thị, ta sử dụng mảng chuaxet[] gồm n phần tử (tương ứng với n đỉnh) để xác định phần tử duyệt  Nếu đỉnh i duyệt, chuaxet[i]=0; ngược lại i chưa xét chuaxet[i]=1;  Sử dụng cấu trúc hàng đợi Queue để nạp đỉnh duyệt  Thuật toán dừng lại hàng đợi rỗng BFS BFS Ví dụ minh họa: I G B Đang xét Sắp xét C A E Chưa xét Đã xét D K F Ví dụ minh họa: I G B Đang xét Sắp xét C A E Chưa xét Đã xét D K F Queue Ví dụ minh họa: I G B Đang xét Sắp xét C A E Chưa xét Đã xét D K F Queue B C D Ví dụ minh họa: I G B Đang xét Sắp xét C A E Chưa xét Đã xét D K F Queue C D I G Kiểm tra tính liên thơng đồ thị Đồ thị khơng liên thơng Kiểm tra tính liên thơng đồ thị  Ý tưởng:  Nếu đồ thị liên thơng số thành phần liên thơng Điều tương đương với phép duyệt theo thủ tục BFS() gọi đến lần  Sau lần duyệt BFS() đỉnh chưa xét tức đồ thị khơng liên thơng Kiểm tra tính liên thơng đồ thị  Phương pháp:  Để xác định tính liên thơng đồ thị Ta sử dụng lại mảng chuaxet[] từ thuật toán BFS();  Nếu phần tử mảng chuaxet[] có giá trị tức có đỉnh chưa xét đồ thị khơng liên thông,  Ngược lại tất đỉnh đánh dấu xét đồ thị liên thơng Kiểm tra tính liên thơng đồ thị Giải mã: void Connected(int V) BFS(V); //Gọi thuật toán duyệt BFS for(int i=0;i

Ngày đăng: 18/05/2020, 08:45

TỪ KHÓA LIÊN QUAN

w