Ответы пользователя по тегу Структуры данных
  • Как называется такой граф и как его хранить в БД?

    @crazywu
    ориентированный граф.
    в бд проще всего хранить в виде списка смежностей
    id вершины из который выходит ребро - id вершины в которую ребро приходит.
    любую дополнительную информацию о вершинах хранить в другой таблице/таблицах (в зависимости от структуры этой информации)
    Ответ написан
    Комментировать
  • Как найти ВСЕ кратчайшие пути между двумя вершинами?

    @crazywu
    Мне кажется, что удобнее всего использовать обход в ширину. Записывая вес и путь до каждой встретившейся вершины.
    В конечной точке соберутся все варианты.
    Только эта штука будет жутко кушать память и не помешало бы сделать некоторые оптимизации:
    -удалять/не записывать более длинные пути
    -обьединять при дальнейшем поиске пути "слившиеся" в одной вершине
    (Это то, что сразу приходит на ум, может есть ещё какие-то варианты)
    Ответ написан
    Комментировать