Методы для реализации и использования графов узлов в C ++? - PullRequest
4 голосов
/ 15 апреля 2010

Я работаю над исследовательским проектом, который занимается социальными сетями. Я сделал большую часть основы программы на C ++ и теперь хочу реализовать способ создания графа узлов и соединений, а также способ визуализации связей между людьми. Я немного заглянул в библиотеку графов Lemon и Boost, но мне было интересно, какую из них будет легче выучить и реализовать, или мне стоит просто написать собственный код.

1 Ответ

4 голосов
/ 16 апреля 2010

Если вы используете BGL , то вы также сможете использовать Graph Toolkit для алгоритмов и чертежей (GTAD). Предполагается, что GTAD совместим с BGL и добавляет ряд графических алгоритмов, не входящих в BGL, а также алгоритмы для макетов.

Для визуализации BGL позволяет читать и записывать некоторые распространенные типы графических файлов, такие как GraphML и Dot, для использования с GraphViz .

Похоже, что Lemon - это хорошо представленная библиотека с хорошим набором алгоритмов. Вы также можете использовать gLemon для просмотра графиков Лимона. Этот визуализатор выглядит довольно просто и последний раз обновлялся в 2008 году, в отличие от Lemon, который все еще находится в разработке.

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

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

Если вы действительно не хотите вдаваться в детали того, как реализованы определенные структуры и алгоритмы графов, я бы использовал библиотеку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...