十七年蝉,同翅目。北美洲一种穴居十七年才能化羽而出的蝉。它们在地底蛰伏17年始出,尔后附上树枝蜕皮,然后交配。雄蝉交配后即死去,母蝉亦于产卵后死。科学家解释,十七年蝉的这种奇特生活方式,为的是避免天敌的侵害并安全延续种群,因而演化出一个漫长而隐秘的生命周期。

这是百度百科里关于十七年蝉的介绍,十七年蝉是一个非常奇怪的蝉类,它的生命轮回周期是13年或者17年这样的质数年份。

为什么周期蝉的生命轮回周期呈13年或17年这样质数年份?这个现象引发了昆虫学家强烈的好奇;但直到现在,他们也没有归结出一个确切原因。
“从进化的角度看,13和17年似乎是最佳的防范捕食者的时间。因为捕食者一般不会生存这么久来和周期蝉保持同步,”索金说。
另一种理论是,13年或17年的进化周期可以很好地控制它们的天敌——以它们为食的鸟类数量。美国的一项研究发现,在17年蝉大批出现12年后,捕食它们的鸟类数量开始减少,最终在第17年、这批蝉再次出现的年份,以它们为食的鸟类数量降至最低。这一规律有助于周期蝉的生存繁衍。 从以上可以知道质数年份能够帮助十七年蝉得到最优的生存条件。我从十七年蝉讲起,谈一谈hashtable为什么表格大小选为质数(作为区分的tips,hashmap一般选容量为2的n次幂)
举个例子,如果hashtable选择为10的n次幂,则处理十进制数时,结果基本都取决于该数的后n位,这样产生冲突的概率会增加许多。由此可以看出选取质数(防止冲突)和十七年蝉的生存周期(防止天敌相遇)是一个原理

从十七年蝉谈起——hashtable的表格大小为什么要选择质数相关推荐

  1. Java程序员从笨鸟到菜鸟之(六十七)细谈Spring(一)spring简介

    spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架.  然而,Sp ...

  2. Java程序员从笨鸟到菜鸟之(五十七)细谈Hibernate(八)Hibernate集合Map关系映射

                 对于hibernate中,集合属性在Hibernate的映射文件中是非常常见的,也是非常重要的内容,理解和熟练掌握常用的集合属性则显得更为重要.在hibernate的配置文件 ...

  3. 阿里执行副主席蔡崇信投资NBA篮网队;工信部约谈运营商,不得限制用户资费选择丨价值早报

    第[754]期早报由[周六]赞助播出 01 今日头条 10月27日消息,据ESPN报道,阿里巴巴集团执行副主席蔡崇信确认以个人出资购买篮网队49%的股份.在蔡崇信个人投资之后,现有股东将继续负责球队的 ...

  4. 青春不常在,抓紧谈恋爱小案例,表格标签、列表标签、表单标签 的综合练习

    青春不常在,抓紧谈恋爱小案例里面要用到的知识点: <select>下拉列表. <ul>无序列表. 表格标签 <table> </table>是用于定义表 ...

  5. 再谈网络字节顺序,大小端问题

    author:张继飞 在做ping命令的时候,发现抓到的数据包seq=256/1,而我们通常使用的ping命令都是seq=1/256,是什么问题导致的呢,看数据包下面的16进制,该字段为01 00,与 ...

  6. 谈到App加固,裕信银行选择顶象

    移动互联网时代,App已经成为了商业银行触达和经营客户的主要阵地.尤其,在疫情爆发之后,银行App作为重要的「无接触」门户,开始扮演越来越重要角色. 此外,随着新一代人工智能的蓬勃发展,智慧金融新模式 ...

  7. html 获取页面元素高度,浅谈JavaScript获取元素的大小(高度和宽度)的方法

    本篇文章给大家介绍一下JavaScript获取元素的大小(高度和宽度)的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 在 JavaScript 中,使用下面 3 组属性可以获 ...

  8. 程序员编程艺术第三十六~三十七章、搜索智能提示suggestion,附近点搜索

    第三十六~三十七章.搜索智能提示suggestion,附近地点搜索 作者:July.致谢:caopengcs.胡果果. 时间:二零一三年九月七日. 题记 写博的近三年,整理了太多太多的笔试面试题,如微 ...

  9. 300亿只蝉本月中将从地底涌出侵袭美国

    蝉在全世界各地都有. 西雅图IT圈:seattleit [今日作者]宇直 宇宙第一直男 美国有一种蝉却很特殊,叫做"周期蝉".它们已经在美国生活了数百万年,远远超过了人类. 这种昆 ...

  10. “蝉原则”与CSS3随机多背景随机圆角等效果

    一.什么是"蝉原则"? "蝉原则",英文称作"cicada principle",是一种让事物的重复出现符合"自然随机性" ...

最新文章

  1. java+script+当前日期_如何在JavaScript中获取当前日期?
  2. rda8955平台搭建摘要截图
  3. 拷贝构造,深度拷贝,关于delete和default相关的操作,explicit,类赋初值,构造函数和析构函数,成员函数和内联函数,关于内存存储,默认参数,静态函数和普通函数,const函数,友元
  4. 给定一个32位有符号整数,将整数中的数字进行翻转
  5. java await signal_java Condtion await方法和signal方法解析
  6. 通过JAVA对HDFS进行操作管理插件
  7. shell脚本编译规范(编写第一个脚本,脚本变量的作用,类型 ,了解read命令,let命令,环境变量和预定义变量)
  8. __doPostBack简单的使用方法
  9. Linux怎么把目录设置群组,linux设置目录和文件使用权限
  10. Pycharm community配置Django
  11. mysql计算3000分钟后的日期_MySQL – 计算两个日期时间之间的净时差,同时排除中断?...
  12. javascript 小白学习指南专题 this
  13. 电脑隐藏文件夹如何把它显示出来
  14. 运营商精准大数据外呼系统
  15. 通过API Key免登录访问Grafana
  16. 不要迷恋我,虽然我利用Python来耍植物大战僵尸
  17. GlobalSign 企业型SSL 证书
  18. 基于S32K的MBD开发环境搭建
  19. 支付宝小程序物联网开发
  20. Zabbix分布式部署

热门文章

  1. 第53天-代码审计-TP5 框架及无框架变量覆盖反序列化(待续)
  2. 使用Uber-go Zap日志库
  3. android 360全景视频,【Android开发VR实战】二.播放360#176;全景视频(示例代码)
  4. python绘制等高线图
  5. Flutter和Native 通信 android端-pigeon
  6. HSI彩色图像空间滤波
  7. 有线路由器接无线路由器设置方法
  8. 解决word、typora等打不开超链接问题
  9. openwrt开机启动设置
  10. 机器人工程师技术资料