Vấn đề này, đối với tôi, trông rất thú vị. Đó là về việc tìm một chu trình đơn giản (tức là chu kỳ không phải là các nút lặp lại) trong một biểu đồ có hướng.
Giải pháp của tôi là như thế này, tức là, biểu đồ này là một vấn đề trường hợp:
Tôi biết rằng có một chu kỳ trong biểu đồ, khi bạn có thể tìm thấy "các cạnh sau" trong tìm kiếm theo chiều sâu (được hiển thị trong ảnh của tôi trong DFSTree) và trong một lúc, tôi có thể chắc chắn trong một vài chu kỳ, nhưng không phải cho tất cả, chu kỳ đơn giản. Bởi vì, các egdes được định hướng rất quan trọng đối với một chu kỳ, tức là (0123)! = (0321)
Tôi đang suy nghĩ về việc tạo một dfs cho mỗi nút có các cạnh sau, nhưng tôi không chắc, và nó không rõ ràng. Vì vậy, tôi hỏi bạn, nếu bạn hướng dẫn tôi. Cảm ơn!.
Dưới đây là số vòng lặp đơn giản cho vấn đề trường hợp của tôi.