Я реализую решатель 15 головоломок с помощью Ant Colony Optimization и думаю о способе эффективного хеширования каждого состояния в число, поэтому я трачу наименьшее количество байтов.
Состояние представлено списком из 16 чисел от 0 до 15 (0 — дырка).
Нравиться:
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0]
Поэтому я хочу создать уникальный номер для идентификации этого состояния. Я мог бы преобразовать все цифры в число с основанием 16, но я не думаю, что это очень эффективно. Есть идеи?
Спасибо
idx |= val << (i*4)
, который просто преобразует шестнадцатеричную строку в десятичное число. - person Alfonso Pérez   schedule 14.01.2014