Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 15, 2023 16:20:15

r_mihyil
Зарегистрирован: 2023-04-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

MST (Minimum spanning tree)

Добрый день! Помогите, пожалуйста, ищу кусок кода/функцию из библиотеки на python, которая сможет найти сумму веса ребер минимального оставного дерева (Minimum spanning tree), имея из данных координаты вершин графа, и считая что «вес» ребра равен длине между вершинами. Если кто-то умеет такое прогать и сделает, также большое спасибо!

Офлайн

#2 Апрель 15, 2023 17:07:04

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1350
Репутация: +  118  -
Профиль   Отправить e-mail  

MST (Minimum spanning tree)

  
from scipy.sparse import csr_matrix
from scipy.sparse.csgraph import minimum_spanning_tree
import numpy as np
# пример координат вершин графа
vertices = np.array([
    [0, 0],
    [0, 1],
    [1, 0],
    [1, 1],
    [2, 2]
])
# расстояния между вершинами
distances = np.linalg.norm(vertices[:, np.newaxis] - vertices, axis=2)
# создание разреженной матрицы для поиска минимального остовного дерева
sparse_graph = csr_matrix(distances)
# поиск минимального остовного дерева
mst = minimum_spanning_tree(sparse_graph)
# сумма веса ребер минимального остовного дерева
sum_of_weights = mst.sum()
print(sum_of_weights)

это из gpt, проверяйте, или в этой области ищите

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version