Tôi rất mới với mã hóa python và tôi đang tìm một thuật toán nhanh chóng tìm thấy tất cả các đường dẫn giữa nút bắt đầu và nút kết thúc cho một biểu đồ rất lớn - có khoảng 1000 nút và 10.000 cạnh. Số lượng đường dẫn thực sự tồn tại từ nút bắt đầu đến nút kết thúc nhỏ - mười hoặc ít hơn. Để giúp bối cảnh hóa câu hỏi nhiều hơn một chút, hãy xem xét mạng xã hội - Nếu tôi có 1000 người bạn và tôi muốn biết có bao nhiêu cách người bạn tốt nhất của tôi từ trường trung học kết nối với bạn cùng phòng của tôi từ đại học, tôi không quan tâm người bạn tốt nhất từ trường trung học được kết nối với tất cả 200 người bạn trung học của tôi bởi vì những con đường đó không bao giờ dẫn đến bạn cùng phòng của tôi. Những gì tôi muốn làm với mã python này là nhanh chóng subset các đường dẫn tồn tại giữa hai người bạn của tôi và về cơ bản có được thoát khỏi tất cả các "tiếng ồn" tồn tại xung quanh hai nút.Thuật toán rất nhanh cho tất cả các đường dẫn giữa hai nút
Tôi đã cố gắng triển khai một số ví dụ về mã, tất cả đều hoạt động tốt trên các biểu đồ nhỏ, đơn giản. Tuy nhiên, khi tôi cố gắng kết hợp chúng vào phân tích biểu đồ lớn, tất cả chúng đều mất quá nhiều thời gian để có ích.
Tất cả các bạn có gợi ý về phương pháp điều tra hay không. python để theo đuổi? Hãy nhớ, tôi là một newbie python.
Dịch một trong những giải pháp trong bài viết này để python: http://stackoverflow.com/questions/58306/ đồ thị-thuật toán-to-tìm-tất cả các kết nối-giữa-hai-tùy ý-đỉnh –
Ngoài ra, điều này: http://stackoverflow.com/questions/8922060/breadth-first-search-trace-path –
Thách thức là biết khi bạn đã tìm thấy tất cả. Tôi không nghĩ rằng đó là có thể mà không kiểm tra một số lượng lớn các nút. Các thuật toán không thể bỏ bê 200 bạn bè của bạn, vì nó không thể biết (mà không kiểm tra chúng, và bạn bè của họ hơn nữa) mà họ không kết nối với bạn cùng phòng của bạn. Thật vậy, không phải là xác định nếu có những con đường thông qua những người bạn toàn bộ các điểm của việc chạy tìm kiếm? – Blckknght