Phần DSADễ dàng

Phát hiện chu kỳ

Hướng dẫn chi tiết và cách triển khai Python cho vấn đề 'Phát hiện chu kỳ'.

Tuyên bố vấn đề

Dễ dàng

Viết hàm has_cycle(graph) lấy biểu đồ có hướng được biểu thị dưới dạng danh sách kề của các danh sách lân cận và trả về True nếu nó chứa ít nhất một chu trình hoặc False nếu không.

Ràng buộc
  • 1 <= V <= 500
  • 0 <= E <= 1000

Ví dụ

Example 1
Input
graph = {0: [1], 1: [2], 2: [0]}
Output
True
Explanation

The path 0 -> 1 -> 2 -> 0 forms a cycle.

Example 2
Input
graph = {0: [1], 1: [2], 2: []}
Output
False
Explanation

The graph is acyclic.

Need a Hint?
Hãy cân nhắc sử dụng các cấu trúc dữ liệu dành riêng cho Đồ thị như tập hợp hoặc vùng heap.
Edge Cases to Watch
  • Cấu trúc đầu vào trống
  • Đầu vào phần tử đơn
  • Giới hạn số lớn

Sẵn sàng để giải quyết?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Mở trong Trình chỉnh sửa
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.