十七年蝉,同翅目。北美洲一种穴居十七年才能化羽而出的蝉。它们在地底蛰伏17年始出,尔后附上树枝蜕皮,然后交配。雄蝉交配后即死去,母蝉亦于产卵后死。科学家解释,十七年蝉的这种奇特生活方式,为的是避免天敌的侵害并安全延续种群,因而演化出一个漫长而隐秘的生命周期。
这是百度百科里关于十七年蝉的介绍,十七年蝉是一个非常奇怪的蝉类,它的生命轮回周期是13年或者17年这样的质数年份。
为什么周期蝉的生命轮回周期呈13年或17年这样质数年份?这个现象引发了昆虫学家强烈的好奇;但直到现在,他们也没有归结出一个确切原因。
“从进化的角度看,13和17年似乎是最佳的防范捕食者的时间。因为捕食者一般不会生存这么久来和周期蝉保持同步,”索金说。
另一种理论是,13年或17年的进化周期可以很好地控制它们的天敌——以它们为食的鸟类数量。美国的一项研究发现,在17年蝉大批出现12年后,捕食它们的鸟类数量开始减少,最终在第17年、这批蝉再次出现的年份,以它们为食的鸟类数量降至最低。这一规律有助于周期蝉的生存繁衍。
从以上可以知道质数年份能够帮助十七年蝉得到最优的生存条件。我从十七年蝉讲起,谈一谈hashtable为什么表格大小选为质数(作为区分的tips,hashmap一般选容量为2的n次幂)
举个例子,如果hashtable选择为10的n次幂,则处理十进制数时,结果基本都取决于该数的后n位,这样产生冲突的概率会增加许多。由此可以看出选取质数(防止冲突)和十七年蝉的生存周期(防止天敌相遇)是一个原理