Нужен алгоритм для расчета хеша строки такой, чтобы удаление/добавление символа мало изменяла хеш. Например, хеши для строк: abcdefgh abdefgh abcdefqgh должны быть похожи. Куда копать?
SPA >CRC32 имхо лучше для этой цели. Не суть, пусчай ТС выберет что его душе угодно. >И насколько я помню афтор требовал число. Вообще-то в компе всё представлено числами.
Booster Я не заканчивал школу шаманства, но я думаю что афтор имел в виду int32 с вероятностью 90%. Rodin не так ли?
вот пример реализации алгоритма CRC32 на C: Код (Text): unsigned long Crc32(const char *buf) { // generate CRC32 hash unsigned long len; unsigned long crc_table[256]; unsigned long crc; len = strlen(buf); for (int i = 0; i < 256; i++) { crc = i; for (int j = 0; j < 8; j++) crc = crc & 1 ? (crc >> 1) ^ 0xEDB88320UL : crc >> 1; crc_table[i] = crc; }; crc = 0xFFFFFFFFUL; while (len--) crc = crc_table[(crc ^ *buf++) & 0xFF] ^ (crc >> 8); return crc ^ 0xFFFFFFFFUL; }