networkx
ScienceГрафовые алгоритмы
Обзор networkx
NetworkX — это стандартная библиотека Python для создания, управления и изучения структуры, динамики и функций сложных сетей. Он поддерживает неориентированные графы, ориентированные графы (орграфы) и мультиграфы и предоставляет богатый набор алгоритмов для поиска путей, централизации, обнаружения сообществ, кластеризации и многого другого.
PyRunпозволяет запускать эксперименты NetworkX прямо в браузере. Независимо от того, изучаете ли вы теорию графов, моделируете социальную сеть или изучаете алгоритмы кратчайшего пути, NetworkX доступен сразу через micropip без какой-либо локальной установки.
Код и вывод выполнения
Постройте ориентированный граф и вычислите кратчайшие пути.
import networkx as nx
G = nx.DiGraph()
G.add_edges_from([
("Alice", "Bob"),
("Alice", "Charlie"),
("Bob", "Diana"),
("Charlie", "Diana"),
("Diana", "Eve"),
])
print("Nodes:", list(G.nodes()))
print("Edges:", list(G.edges()))
print("\nIn-degree (followers):")
for node, deg in G.in_degree():
print(f" {node}: {deg}")
print("\nShortest path Alice → Eve:")
path = nx.shortest_path(G, "Alice", "Eve")
print(" → ".join(path))
print("\nIs DAG?", nx.is_directed_acyclic_graph(G))Сопутствующие пакеты
Рекомендуемые ресурсы Python
Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.
Циклы Python
Узнайте, как использовать циклы Python для перебора данных. Освойте циклы for, while, прерывание, продолжение и лучшие практики работы с циклами с помощью интерактивных примеров.
Как отсортировать список в Python
Узнайте, как сортировать список в Python с помощью метода sort() и функции sorted(). Ознакомьтесь с примерами пользовательской сортировки ключей и обратного порядка.
Шпаргалка по строковым методам Python
Полное справочное руководство по манипулированию строками в Python. Мастер форматирования, поиска, разделения, замены и проверки свойств строк.
Python против JavaScript: какой язык программирования лучше?
Всестороннее сравнение Python и JavaScript. Изучите синтаксические различия, производительность, варианты использования (серверная и клиентская части) и примеры кодирования.