Я делаю хеш-таблицу и реализовал следующую хеш-функцию
int linesn=8;
int hash(char *str, int table_size)
{
int sum;
// Make sure a valid string passed in
if (str==NULL) return -1;
// Sum up all the characters in the string
for( ; *str; str++) sum += *str;
// Return the sum mod the table size
return sum % table_size;
}
char *str="Carlos";
int hashv=hash(str,linesn);
printf("\nThe hash value is: %d",hashv);
Поскольку в любой хеш-функции существуют коллизии, как реализовать функцию перехеширования для предотвращения этих коллизий, я читал в Google, но примеры для меня сложны, кто-нибудь может дать мне представление, пожалуйста.
заранее спасибо