gpt4 book ai didi

c - 是否可以制作一个对字典进行排序的哈希函数

转载 作者:行者123 更新时间:2023-11-30 14:57:12 25 4
gpt4 key购买 nike

我想到了一个很好的哈希函数,可以自动对一堆单词进行排序。

也许可以通过每个字母的所有 ASCII 值之和来完成。

int hash(char *str){

int i,value=0;

for (i=0;i<strlen(str);i++)
value=value+(str[i]%97);

return value;
}

但这会导致很多冲突,因为,例如:3+5=8+0=7+1=6+2 等等...

哈希函数是否可以做到这一点?如果是这样,怎么可能?

最佳答案

基本答案是否定的。您的散列可以采用前四个字符并将它们解释为整数。这将是一个具有某种功能的函数,但却是一种退化的情况。

散列的基本思想是,您从数据中获得看起来像随机值的值,并且仅更改数据的一位就完全改变散列(因此数据的每一位都对散列的每一位做出贡献)。

有许多可用的哈希函数。

关于c - 是否可以制作一个对字典进行排序的哈希函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44085282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com