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

Узнайте, как использовать циклы Python для перебора данных. Освойте циклы for, while, прерывание, продолжение и лучшие практики работы с циклами с помощью интерактивных примеров.

Посмотреть ресурс
Практическое руководство

Как отсортировать список в Python

Узнайте, как сортировать список в Python с помощью метода sort() и функции sorted(). Ознакомьтесь с примерами пользовательской сортировки ключей и обратного порядка.

Посмотреть ресурс
Шпаргалка

Шпаргалка по строковым методам Python

Полное справочное руководство по манипулированию строками в Python. Мастер форматирования, поиска, разделения, замены и проверки свойств строк.

Посмотреть ресурс
Сравнение языков

Python против JavaScript: какой язык программирования лучше?

Всестороннее сравнение Python и JavaScript. Изучите синтаксические различия, производительность, варианты использования (серверная и клиентская части) и примеры кодирования.

Посмотреть ресурс