http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va-‐giai-‐thuat/index.jsp Copyright © vietjack.com Giải thuật tìm kiếm theo chiều rộng Giải thuật tìm kiếm theo chiều rộng ? Giải thuật tìm kiếm theo chiều rộng (Breadth First Search – viết tắt BFS) duyệt qua đồ thị theo chiều rộng sử dụng hàng đợi (queue) để ghi nhớ đỉnh liền kề để bắt đầu việc tìm kiếm khơng gặp đỉnh liền kề vòng lặp Như hình ví dụ trên, giải thuật tìm kiếm theo chiều rộng duyệt từ A tới B tới E tới F sau tới C, tới G cuối tới D Giải thuật tuân theo qui tắc: • Qui tắc 1: Duyệt tiếp tới đỉnh liền kề mà chưa duyệt Đánh dấu đỉnh mà duyệt Hiển thị đỉnh đẩy vào hàng đợi (queue) • Qui tắc 2: Nếu khơng tìm thấy đỉnh liền kề, xóa đỉnh hàng đợi • Qui tắc 3: Lặp lại Qui tắc hàng đợi trống http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va-‐giai-‐thuat/index.jsp Copyright © vietjack.com Bảng minh họa cách giải thuật tìm kiếm theo chiều rộng làm việc với ví dụ đơn giản sau: Bước Duyệt Miêu tả Khởi tạo hàng đợi (queue) Chúng ta bắt đầu duyệt đỉnh S(đỉnh bắt đầu) đánh dấu đỉnh duyệt http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va-‐giai-‐thuat/index.jsp Copyright © vietjack.com Sau tìm đỉnh liền kề với Smà chưa duyệt Trong ví dụ có đỉnh, theo thứ tự chữ chọn đỉnhA đánh dấu duyệt xếp Avào hàng đợi Tiếp tục duyệt đỉnh liền kề với S làB Đánh dấu duyệt xếp đỉnh vào hàng đợi Tiếp tục duyệt đỉnh liền kề với S làC Đánh dấu duyệt xếp đỉnh vào hàng đợi http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va-‐giai-‐thuat/index.jsp Copyright © vietjack.com Bây đỉnh S khơng đỉnh liền kề mà chưa duyệt Bây rút A từ hàng đợi Từ đỉnh A có đỉnh liền kề D đỉnh chưa duyệt Đánh dấu đỉnh D duyệt xếp vào hàng đợi Đến đây, thấy không đỉnh chưa đánh dấu (chưa duyệt với ví dụ bảng này) Nhưng giải thuật tiếp tục, tiếp tục rút đỉnh từ hàng đợi theo thứ tự để tìm tất đỉnh mà chưa duyệt Khi hàng đợi trống lúc kết thúc giải thuật Trên phần giới thiệu minh họa cho giải thuật tìm kiếm theo chiều rộng với đồ thị gồm đỉnh Để tìm hiểu code đầy đủ giải thuật tìm kiếm theo chiều rộng ngơn ngữ C, mời bạn click chuột vào chương: Tìm kiếm theo chiều rộng C tim-‐kiem-‐theo-‐chieu-‐rong-‐trong-‐c http://vietjack.com/ Trang chia sẻ các bài học online miễn phí ... hiểu code đầy đủ giải thuật tìm kiếm theo chiều rộng ngơn ngữ C, mời bạn click chuột vào chương: Tìm kiếm theo chiều rộng C tim- kiem- theo- chieu- rong- ‐trong-‐c http://vietjack.com/ ... http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va- giai- thuat/ index.jsp Copyright © vietjack.com Sau tìm đỉnh liền kề với Smà chưa duyệt Trong ví dụ...http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va- giai- thuat/ index.jsp Copyright © vietjack.com Bảng minh họa cách giải thuật tìm kiếm theo chiều