Сведения о вопросе

profi

16:03, 1st July, 2020

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

Просмотров: 447   Ответов: 0

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

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

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

Что бы вы предложили?


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

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

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



Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться