Какая структура данных графа наиболее эффективна в Python? [закрыто]

Мне нужно уметь манипулировать большим (10 ^ 7 узлов) графом в Python. Данные, соответствующие каждому узлу / ребру, минимальны, скажем, небольшое количество строк. Что является наиболее эффективным, с точки зренияmemory and speedспособ сделать это?

Диктовка диктов является более гибкой и простой в реализации, но я интуитивно ожидаю, что список списков будет быстрее. Опция list также потребует, чтобы я держал данные отдельно от структуры, в то время как dicts допускает что-то вроде этого:

graph[I][J]["Property"]="value"

Что ты предлагаешь?

Да, мне следовало бы прояснить, что я имею в виду под эффективностью. В данном конкретном случае я имею в виду поиск с произвольным доступом.

Загрузка данных в память не является большой проблемой. Это сделано раз и навсегда. Отнимающая много времени часть посещает узлы, поэтому я могу извлечь информацию и измерить интересующие меня метрики.

Я не рассматривал вопрос о том, чтобы сделать каждый узел классом (свойства одинаковы для всех узлов), но кажется, что это добавило бы дополнительный уровень накладных расходов? Я надеялся, что у кого-то будет прямой опыт с подобным случаем, которым они могли бы поделиться. В конце концов, графы являются одной из самых распространенных абстракций в CS.

Ответы на вопрос(7)

Ваш ответ на вопрос