Tôi đang triển khai thuật toán tìm kiếm đồ thị của Thành phần Kết nối Mạnh mẽ (SCC) của Kosaraju bằng Python.Điều gì gây ra lỗi phân đoạn Python?
Chương trình chạy rất tốt trên tập dữ liệu nhỏ, nhưng khi tôi chạy nó trên biểu đồ siêu lớn (hơn 800.000 nút), nó nói "Phân đoạn lỗi".
Nguyên nhân có thể là gì? Cảm ơn bạn!
Thông tin bổ sung: Trước tiên tôi nhận được lỗi này khi chạy trên tập dữ liệu siêu lớn:
"RuntimeError: maximum recursion depth exceeded in cmp"
Sau đó, tôi thiết lập lại các giới hạn đệ quy sử dụng
sys.setrecursionlimit(50000)
nhưng có một 'Lỗi phân đoạn'
Tin tôi không phải là vòng lặp vô hạn, nó sẽ chạy chính xác trên dữ liệu tương đối nhỏ hơn. Có thể chương trình đã cạn kiệt tài nguyên?
Có thể là bạn có thể có một cái nhìn [CrashingPython] (http://wiki.python.org/moin/CrashingPython) – Abhijit
Đây có phải là chạy trong Python tinh khiết hoặc bạn đang sử dụng một mô-đun mở rộng C? Nếu đó là Python thuần túy thì đó là một lỗi ở đó và xin chúc mừng. Nếu bạn đang sử dụng một mô-đun c, thì segfault có thể đến từ đó. – aaronasterling
đó là python nguyên chất. Chương trình chạy rất tốt trên các tập dữ liệu tương đối nhỏ và nó làm cho tôi nghĩ rằng mã là chính xác. – xiaolong