Как организовать структуру данных

94
11 сентября 2021, 03:30

Пытаюсь в силу своих знаний написать движок дли игры в русские шашки на C++ (если точнее, уже по большей части написал). Требуется определить, какую структуру данных лучше использовать для хранения оных, так как при большой глубине повторяющиеся позиции увеличивают сложность просчёта.

struct data {
uint32_t fields[4]; 
char turn; //0 или 1
}

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

Также не хотелось бы терять быстрый доступ к дочерним и родительским элементам, да и вообще к элементам из-за каких-нибудь коллизий, но чтобы при этом было быстро. Я понимаю, что все желания не удовлетворить, но посоветуйте что-то, пожалуйста. Да и вообще что можно почитать по структурам данных (не конкретно для C++)?

READ ALSO
Как сделать,чтобы после выполнения функции значение переменной сохранялось для дальнейшей работы

Как сделать,чтобы после выполнения функции значение переменной сохранялось для дальнейшей работы

У меня есть две функции, 1 для записи в файл предложения ,2 для чтения его и сохранения предложения в переменную, но когда я хочу вывести предложение...

125
Помогите разобраться с градиентом CSS

Помогите разобраться с градиентом CSS

Вот есть такой градиентПутем различных изменений % у transparent и цвета #dde так и не понял по-какому принципу это строится

161