Здравствуйте the_moon, Вы писали:
TM>Привет, хочу вот зделать поиск через хэши, нашел в интернете типа такой функции
TM>
TM>TM>unsigned long mHash( const char* string )
TM>{
TM> unsigned long Hash = 0;
TM> for( Hash = 0; *string; string++ ) Hash = (131 * Hash + *string);
TM> return Hash;
TM>}
TM>
TM>И решил ее протестировать, заполнял строчки мусором хешировал и искл одинаковый хэш для разных строк
TM>за 10 минут на массиве из 100000 строчек вот такой вот ризультат.
TM>
TM>TM>-------1
TM>The same hashes
TM>{-К-cjMry^)Ъ$sФ*ПТЗТsnMFy|::_'(ШГLЭk{ЙДЙnfiСIJП6vl^ S$⌂9q<Х&b9wЫ!- 24615AD
TM>ФUlpГToЗf, ЩO\W!Nm;FОDС~U#,p^c⌂SVБМD~UOЪYI]E69C*Ш_p*cИ0@УcqB'ТЙTTЕ 24615AD
TM>-------2
TM>The same hashes
TM>$ЩdC<Лu)>gSЖШЫ}IМX0Тu@BmLФghАPqUG@ЮВЮ)T&&u/ZS{MKkhAЦ4BКjК)НS&IV|РЕ F26102BC
TM>sz5QКC#$1Ю<Q{ЧRZxM8HЪKK |6lЪGА<Ш-dЧGAw#%l$_K\:4УkЕ?-ltoАЪu4,Q]GM<Л F26102BC
TM>The same hashes
VРeaВUCI`>>OdYГnzfЗ:yyС|+3_РB/j0ЕF%vgY_06QC$fyИzx]JqГ\3|mАC|[cК@h6У 4389B64B
TM>zDK*tУЫЫrЙ ЬTБh;#]DhswdЬL%УJ1Н#XО>Э}ЫxС&OlqdT7J`+[zh*}} ЦHМW@ЩЫГ!Q 4389B64B
TM>
TM>Так вот вопрос, есть ченибуть более надежное?
Есть. Архиваторы.
О какой надежности может идти речь в твоем примере, если точно известно что для любого значения хэша существует множество элементов которые ему соответствуют. Вот только осмысленных среди них должно быть оооочень мало. А мусору с одинаковым хешем наковырять конечно можно.....