Đây là một thuật toán trong trí tuệ nhân tạo. Cấu trúc tài liệu được sử dụng là hàng đợi ( queue ) .
Thuật toán sử dụng một cấu trúc tài liệu hàng đợi để tàng trữ thông tin trung gian thu được trong quy trình tìm kiếm :
Ghi chú: Nếu sử dụng một ngăn xếp thay vì hàng đợi thì thuật toán trở thành thuật toán tìm kiếm theo chiều sâu.
Các đặc tính của thuật toán[sửa|sửa mã nguồn]
Nếu V là tập hợp đỉnh của đồ thị và
|
V
|
{\displaystyle |V|}
là số đỉnh thì không gian cần dùng của thuật toán là
O
(
|
V
|
)
{\displaystyle O(|V|)}
.
Nếu V, và E là tập hợp các đỉnh và cung của đồ thị, thì thời gian thực thi của thuật toán là
O
(
|
E
|
+
|
V
|
)
{\displaystyle O(|E|+|V|)}
vì trong trường hợp xấu nhất, mỗi đỉnh và cung của đồ thị được thăm đúng một lần. Ghi chú:
O
(
|
E
|
+
|
V
|
)
{\displaystyle O(|E|+|V|)}
nằm trong khoảng từ
O
(
|
V
|
)
{\displaystyle O(|V|)}
đến
O
(
|
V
|
2
)
{\displaystyle O(|V|^{2})}
, tùy theo số cung của đồ thị.
Thuật toán tìm kiếm theo chiều rộng được dùng để giải nhiều bài toán trong lý thuyết đồ thị, chẳng hạn như:
Tìm những thành phần liên thông[sửa|sửa mã nguồn]
Tập hợp những đỉnh đã được quan sát bởi thuật toán tìm kiếm theo chiều rộng chính là thành phần liên thông chứa đỉnh gốc .
Kiểm tra đồ thị hai phía[sửa|sửa mã nguồn]
Có thể dùng thuật toán tìm kiếm theo chiều rộng để kiểm tra xem một đồ thị có phải đồ thị hai phía hay không, bằng cách tìm kiếm từ một đỉnh bất kể và gán nhãn chẵn lẻ cho những đỉnh được quan sát. Nghĩa là, gán nhãn 0 cho đỉnh gốc, 1 cho toàn bộ những đỉnh kề đỉnh gốc, 0 cho tổng thể những đỉnh kề với một đỉnh kề đỉnh gốc, và liên tục như vậy. Nếu ở một bước nào đó, có hai đỉnh kề nhau có cùng nhãn, thì đồ thị không là hai phía. Nếu quy trình tìm kiếm kết thúc mà điều này không xảy ra thì đồ thị là hai phía .
Liên kết ngoài[sửa|