Giả sử một đồ thị hoàn chỉnh> 25.000 nút. Mỗi nút về cơ bản là một điểm trên mặt phẳng. Nó có cạnh 625M. Mỗi cạnh có độ dài cần được lưu trữ dưới dạng số dấu phẩy động.Thuật toán để tìm MST trong đồ thị hoàn chỉnh lớn
Tôi cần một thuật toán để tìm MST của nó (trên PC thông thường).
Nếu tôi sử dụng thuật toán của Kruskal, trước tiên cần sắp xếp tất cả các cạnh, nhưng tôi không thể đủ khả năng lưu trữ các cạnh hoàn toàn trong bộ nhớ cùng một lúc.
Nếu tôi chọn thuật toán của Prim, rất khó để đánh giá số lượng cạnh sẽ được lưu trữ trong cùng một lúc, nhưng có lẽ hầu hết chúng sẽ xuất hiện ngay sau khi thuật toán bắt đầu.
Có thêm thuật toán đủ bộ nhớ nào có thể cho phép tôi tránh sắp xếp các cạnh được lưu trữ trong tệp không?
Ngoài ra, có bất kỳ thuật toán MST nào đã biết sử dụng thực tế rằng bất kỳ cạnh cây nào thỏa mãn bất bình đẳng tam giác không?
Biểu đồ có hoàn chỉnh không? 625M chỉ là 25000 ** 2. Ngoài ra, tại đây http://en.wikipedia.org/wiki/Euclidean_minimum_spanning_tree –
Ngoài ra còn có thư viện cho việc này: http://www.mlpack.org/doxygen.php?doc=emst_tutorial.html –
@ZiyaoWei: cảm ơn, nó trông giống như những gì tôi đang tìm kiếm. – Roman