Kodduu Python: post #1552 — TG.ME

🔥 NetworkX: Графы и алгоритмы в Python


import networkx as nx
from typing import List, Tuple

def build_and_analyze_graph() -> None:
"""Пример работы с графами: города и дороги."""
G = nx.Graph()

# Добавляем узлы (города) и рёбра (дороги)
G.add_edges_from([
("Москва", "Питер", {"distance": 700}),
("Москва", "Казань", {"distance": 800}),
("Питер", "Новгород", {"distance": 200}),
("Казань", "Екатеринбург", {"distance": 900}),
("Новгород", "Екатеринбург", {"distance": 1200}),
])

# Кратчайший путь
path = nx.shortest_path(G, "Москва", "Екатеринбург", weight="distance")
distance = nx.shortest_path_length(G, "Москва", "Екатеринбург", weight="distance")

print("📍 Кратчайший путь Москва → Екатеринбург:", " → ".join(path))
print(f"Расстояние: {distance} км\n")

# Центральность узлов
centrality = nx.degree_centrality(G)
print("🔝 Самые связанные города:")
for city, cent in sorted(centrality.items(), key=lambda x: x[1], reverse=True):
print(f" • {city}: {cent:.2f}")

if __name__ == "__main__":
try:
build_and_analyze_graph()
except Exception as e:
print(f"Ошибка: {e}")

📌 NetworkX — мощная библиотека для работы с графами: построение, поиск кратчайших путей, центральность, сообщества, визуализация и тысячи алгоритмов. Идеально для транспортных сетей, рекомендаций, социальных графов и анализа связей.

🛠 pip install networkx

Подпишись 👉🏻 @KodduuPython 🤖
August 3, 2026 135 6