BFS so với DFS

Tác Giả: Laura McKinney
Ngày Sáng TạO: 4 Tháng Tư 2021
CậP NhậT Ngày Tháng: 13 Có Thể 2024
Anonim
Duyệt theo chiều sâu dfs và  chiều rộng bfs
Băng Hình: Duyệt theo chiều sâu dfs và chiều rộng bfs

NộI Dung

Sự khác biệt giữa BFS là tìm kiếm theo chiều rộng và DFS là tìm kiếm theo chiều sâu là tìm kiếm theo chiều rộng đầu tiên là phương pháp duyệt đồ thị sử dụng hàng đợi để lưu trữ các đỉnh đã truy cập, trong khi tìm kiếm theo chiều sâu là phương pháp duyệt đồ thị sử dụng ngăn xếp để lưu trữ các đỉnh truy cập.


Hơi thở tìm kiếm đầu tiên và tìm kiếm sâu đầu tiên là một trong những khái niệm quan trọng nhất trong lập trình máy tính. Tìm kiếm theo chiều sâu theo một đường dẫn từ đầu đến cuối là nút kết thúc ở mặt khác, công việc tìm kiếm đầu tiên theo cấp độ. Nếu chúng ta nói về sự khác biệt chính, thì sự khác biệt chính giữa BFS là tìm kiếm đầu tiên và DFS là tìm kiếm theo chiều sâu là tìm kiếm đầu tiên theo chiều rộng là phương pháp duyệt đồ thị sử dụng hàng đợi để lưu trữ các đỉnh được truy cập, trong khi tìm kiếm theo chiều sâu là phương pháp duyệt đồ thị sử dụng ngăn xếp để lưu trữ các đỉnh đã truy cập. Tìm kiếm đầu tiên theo chiều rộng được gọi là BFS ngắn, BFS được sử dụng để duyệt qua biểu đồ. Hàng đợi được sử dụng để lưu trữ các đỉnh đã truy cập trong BFS. BFS làm việc trên các đỉnh, các đỉnh được truy cập được lưu trữ trong hàng đợi. Các đỉnh được lưu trữ từng cái một. Mỗi nút trong biểu đồ được khám phá đầy đủ và sau đó các đỉnh khác của biểu đồ được truy cập.


Độ sâu Tìm kiếm đầu tiên được gọi là DFS cũng là một phương pháp duyệt đồ thị đã sử dụng ngăn xếp để lưu trữ các đỉnh. Tìm kiếm theo chiều rộng không phải là phương pháp dựa trên cạnh trong khi tìm kiếm theo chiều sâu là phương pháp dựa trên cạnh. Độ sâu tìm kiếm đầu tiên hoạt động theo kiểu đệ quy nơi các đỉnh được khám phá qua các cạnh. Trong tìm kiếm đầu tiên chuyên sâu, mỗi đỉnh được truy cập một lần được kiểm tra hai lần.

Nội dung: Sự khác biệt giữa BFS và DFS

  • Biểu đồ so sánh
  • BFS
  • DFS
  • Sự khác biệt chính
  • Phần kết luận
  • Video giải thích

Biểu đồ so sánh

Nền tảngBFSDFS
Ý nghĩaTìm kiếm đầu tiên theo chiều rộng là phương pháp duyệt đồ thị sử dụng hàng đợi để lưu trữ các đỉnh đã truy cậpTìm kiếm theo chiều sâu là phương pháp duyệt đồ thị sử dụng ngăn xếp để lưu trữ các đỉnh đã truy cập.
Thuật toán Bề rộng tìm kiếm đầu tiên là thuật toán dựa trên đỉnhTìm kiếm theo chiều sâu là thuật toán dựa trên cạnh
Ký ứcBề rộng tìm kiếm đầu tiên là bộ nhớ không hiệu quảTìm kiếm sâu đầu tiên là bộ nhớ hiệu quả
Ứng dụng Kiểm tra biểu đồ lưỡng cực, thành phần được kết nối và đường dẫn ngắn nhất có trong biểu đồ.Kiểm tra đồ thị được kết nối hai cạnh, đồ thị được kết nối mạnh, đồ thị theo chu kỳ và thứ tự tôpô.

BFS

Tìm kiếm đầu tiên theo chiều rộng được gọi là BFS ngắn, BFS được sử dụng để duyệt qua biểu đồ. Hàng đợi được sử dụng để lưu trữ các đỉnh đã truy cập trong BFS. BFS làm việc trên các đỉnh, các đỉnh được truy cập được lưu trữ trong hàng đợi. Các đỉnh được lưu trữ từng cái một. Mỗi nút trong biểu đồ được khám phá đầy đủ và sau đó các đỉnh khác của biểu đồ được truy cập. Tìm kiếm đầu tiên được sử dụng để tìm thấy đồ thị có được kết nối hay không. Tìm kiếm đầu tiên được sử dụng để phát hiện biểu đồ lưỡng cực. Tìm các đường dẫn ngắn nhất được thực hiện bằng cách sử dụng BFS.


DFS

Độ sâu Tìm kiếm đầu tiên được gọi là DFS cũng là một phương pháp duyệt đồ thị đã sử dụng ngăn xếp để lưu trữ các đỉnh. Tìm kiếm theo chiều rộng không phải là phương pháp dựa trên cạnh trong khi tìm kiếm theo chiều sâu là phương pháp dựa trên cạnh.Độ sâu tìm kiếm đầu tiên hoạt động theo kiểu đệ quy nơi các đỉnh được khám phá qua các cạnh. Trong một tìm kiếm theo chiều sâu, mỗi đỉnh được truy cập một lần được kiểm tra hai lần.

Sự khác biệt chính

  1. Tìm kiếm theo chiều rộng đầu tiên là phương pháp duyệt đồ thị sử dụng hàng đợi để lưu trữ các đỉnh được truy cập trong khi tìm kiếm theo chiều sâu là phương pháp duyệt đồ thị sử dụng ngăn xếp để lưu trữ các đỉnh đã truy cập.
  2. Tìm kiếm theo chiều rộng đầu tiên là thuật toán dựa trên đỉnh trong khi tìm kiếm theo chiều sâu là thuật toán dựa trên cạnh
  3. Tìm kiếm theo chiều rộng là bộ nhớ không hiệu quả trong khi tìm kiếm theo chiều sâu là bộ nhớ hiệu quả.
  4. Kiểm tra biểu đồ lưỡng cực, thành phần được kết nối và đường đi ngắn nhất có trong biểu đồ trong khi kiểm tra biểu đồ được kết nối hai cạnh, biểu đồ được kết nối mạnh, biểu đồ chu kỳ và thứ tự tôpô.

Phần kết luận

Trong bài viết này ở trên, chúng tôi thấy sự khác biệt rõ ràng giữa tìm kiếm đầu tiên hơi thở và tìm kiếm sâu đầu tiên với thực hiện.

Video giải thích