• hashmap有一个loadFactory为什么是0.75从泊松分布解析看看


    简述:

    写这篇文章是看到网上的一篇面试题,有面试官问hashmap有一个loadFactory为什么是0.75  我先解释一下 0.75上下文,当一个hashmap初始数组大小暂时不考虑扩容情况,初始情况下它的值是16,随着hashmap的不断put操作,统计发现桶数组内累加的entry数  除以当下数组长度比如16  大于0.75  那么hashmap就会成倍的扩容数组,进行rehash;所以这个数字还是蛮关键的 。那么这个0.75是怎么定义出来的,为什么不是0.5 ,0.6 或0.7呢 这篇文章 或许你看了 有一定的明白!

    大学时,我一直觉得统计学很难,还差点挂科。

    工作以后才发现,难的不是统计学,而是我们的教材写得不好。比起高等数学,统计概念其实容易理解多了。

    我举一个例子,什么是泊松分布指数分布?恐怕大多数人都说不清楚。

    我可以在10分钟内,让你毫不费力地理解这两个概念。

    一、泊松分布

    日常生活中,大量事件是有固定频率的。

    • 某医院平均每小时出生3个婴儿
    • 某公司平均每10分钟接到1个电话
    • 某超市平均每天销售4包xx牌奶粉
    • 某网站平均每分钟有2次访问

    它们的特点就是,我们可以预估这些事件的总数,但是没法知道具体的发生时间。已知平均每小时出生3个婴儿,请问下一个小时,会出生几个?

    有可能一下子出生6个,也有可能一个都不出生。这是我们没法知道的。

    泊松分布就是描述某段时间内,事件具体的发生概率。

    上面就是泊松分布的公式。等号的左边,P 表示概率,N表示某种函数关系,t 表示时间,n 表示数量,1小时内出生3个婴儿的概率,就表示为 P(N(1) = 3) 。等号的右边,λ 表示事件的频率。

    接下来两个小时,一个婴儿都不出生的概率是0.25%,基本不可能发生。

    接下来一个小时,至少出生两个婴儿的概率是80%。

    泊松分布的图形大概是下面的样子。

    可以看到,在频率附近,事件的发生概率最高,然后向两边对称下降,即变得越大和越小都不太可能。每小时出生3个婴儿,这是最可能的结果,出生得越多或越少,就越不可能。

    二、指数分布

    指数分布是事件的时间间隔的概率。下面这些都属于指数分布。

    • 婴儿出生的时间间隔
    • 来电的时间间隔
    • 奶粉销售的时间间隔
    • 网站访问的时间间隔

    指数分布的公式可以从泊松分布推断出来。如果下一个婴儿要间隔时间 t ,就等同于 t 之内没有任何婴儿出生。

    反过来,事件在时间 t 之内发生的概率,就是1减去上面的值。

    接下来15分钟,会有婴儿出生的概率是52.76%。

    接下来的15分钟到30分钟,会有婴儿出生的概率是24.92%。

    指数分布的图形大概是下面的样子。

    可以看到,随着间隔时间变长,事件的发生概率急剧下降,呈指数式衰减。想一想,如果每小时平均出生3个婴儿,上面已经算过了,下一个婴儿间隔2小时才出生的概率是0.25%,那么间隔3小时、间隔4小时的概率,是不是更接近于0?

    摘自

    http://www.ruanyifeng.com/blog/2015/06/poisson-distribution.html#comment-356111

  • 相关阅读:
    在mac守护进程中启动一个新进程
    OBS源码解析(3)OBSApp类介绍
    缩略图预览mini库
    Web Sql database 本地数据库
    React入口详解
    网页全屏显示
    使用cheerio爬数据兼容gbk和utf8
    前端自动化grunt的使用
    Emmet 神一样的sublime text插件
    BFC(Block Formatting Context)理解
  • 原文地址:https://www.cnblogs.com/zhangfengshi/p/13408687.html
Copyright © 2020-2023  润新知