Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Hash function 11.04.03 18:57 Число просмотров: 770
Автор: Nour Статус: Незарегистрированный пользователь Отредактировано 11.04.03 19:27 Количество правок: 1
|
Добрый день/вечер/ночь/утро,
Есть задача найти запись в массиве. Массив состоит из пар чисел от 1 до 255, за исключением n-n, причем одна и та же запись должна находиться как по n-m, так и по m-n, следовательно, максимум может быть (255*255-255)/2 = 32385 записей. Например, пары чисел 10-100 и 100-10 должны ссылаться на одну и туже запись в массиве. Я решил использовать для индекса некое подобие hash функции.
(((a+(b-a(b-a))*(a+(b-a)*(b-a)))+((b+(a-b)*(a-b))*(b+(a-b)a-b))))
или такая запись
(a+(b-a)2)2+(b+(a-b)2)2
Жутко громоздко, но работает.
Например, для пар 10-100 и 100-10 индекс будет 133012100.
Для тех, кто понял всю эту галиматью у меня вопрос. Есть ли идеи на счет какого-нибудь менее громоздкого/быстрого решения в целом или hash функции в частности?
Любая помощь/критика приветствуется.
|
- [C++] Hash function - Nour 11.04.03 18:57 [770]
|
|
|