@Catmengi
Юный человек который учит язык Си.

Как правильно сделать граф?

Я решил опять сделать какую-то "дичь", на этот раз я решил что плод незаконной любви графа и хештаблицы будет достаточно интересным. Так я придумал regionmap где в каждой ноде графа будет определенное колличество бакетов хештаблицы и связанный список который будет отображать следующие ноды где могут быть наши данные. Сообственно у меня 3 вопроса как правильно реализовать граф и как сделать поиск по кругу на N радиус от ячейки 2мерного массива ну и когда мне искать от начальной ноды а когда идти в ее "подключенных соседей". Пока что я хочу реализовать граф как 2д массив нод и список смежности
struct adj_list{
    struct graph_el* node;
    struct adj_list " next;
    struct adj_list *prev;
};
struct graph_el{
    Region_t *region;
    struct adj_list *neibours;
};
struct graph{
     struct graph_el** nodes;
     size_t x;
     size_t y;
};
  • Вопрос задан
  • 179 просмотров
Решения вопроса 1
mindtester
@mindtester
http://iczin.su/hexagram_48
как сделать поиск по кругу на N радиус от ячейки 2мерного массива
а это не о графах вообще..
покури tarantul что ли?
.. а так, это мне напоминает курс функционального анализа.. о функциональных пространствах.. и о том, что любое "пространство" задается метрикой расстояния на этом пространстве..
.. в тарантуле вроде заложили основы геометрик.. поможет ли тебе - не знаю..
но граф это не место быстрого доступа.. ну или только реальных соседей..
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Странная структура... Ну если вам так хочется, то "сделать поиск по кругу на N радиус от ячейки" делается обходом в ширину.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы