В то время как кто-то спросил меня, знаю ли я хороший способ кодировать информацию для игры Settlers of Catan. Это потребовало бы хранения гексагональной сетки таким образом, чтобы каждый гексагон мог иметь связанные с ним данные. Что еще более важно, мне понадобится какой-то способ эффективного поиска вершин и ребер по сторонам этих шестиугольников, так как это все действие.
Мой вопрос заключается в следующем: есть ли хорошая структура простая для хранения гексагональной сетки, позволяя быстро искать шестиугольники, ребра между шестиугольниками и вершинами на пересечениях шестиугольников? Я знаю, что такие общие структуры, как крылатый край или четырехгранник, могут это сделать, но это похоже на массовый перебор.