哈希冲突原因「建议收藏」

哈希冲突原因「建议收藏」哈希计算就是努力的把比较大的数据存放到相对较小的空间中。最常见的哈希算法是取模法。下面简单讲讲取模法的计算过程。比如:数组的长度是5。这时有一个数据是6。那么如何把这个6存放到长度只有5的数组中呢。按照取模法,计算6%5,结果是1,那么就把6放到数组下标是1的位置。那么,7就应该放到2这个位置。到此位置,哈斯冲突还没有出现。这时,有个数据是11,按照取模法,11%5=1,也等于1。那

大家好,又见面了,我是你们的朋友全栈君。

哈希计算就是努力的把比较大的数据存放到相对较小的空间中。
最常见的哈希算法是取模法。
下面简单讲讲取模法的计算过程。
比如:数组的长度是5。这时有一个数据是6。那么如何把这个
6存放到长度只有5的数组中呢。按照取模法,计算
6%5,结果是1,那么就把6放到数组下标是1的位置。那么,7
就应该放到2这个位置。到此位置,哈斯冲突还没有出现。
这时,有个数据是11,按照取模法,11%5=1,也等于1。那么
原来数组下标是1的地方已经有数了,是6。这时又计算出1这个
位置,那么数组1这个位置,就必须储存两个数了。这时,就叫
哈希冲突。冲突之后就要按照顺序来存放了。
如果数据的分布比较广泛,而且储存数据的数组长度比较大。
那么哈希冲突就比较少。否则冲突是很高的。
具体的算法你要参照更加专业的书籍。
希望对你有帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150354.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WinRAR去广告心得

    WinRAR去广告心得学习winAPI函数CreateWindow函数 软件创建窗口分为1首先注册2开始创建3显示分别有各自函数形成 还要有消息传递机制每个窗口有自己的类注意类函数参数问题   Winrar5.4去广告首先下断创建窗口函数进而多次运行暂停知道找到广告出现的窗口class追踪函数入口ret掉注意堆栈平衡

    2022年5月23日
    26
  • 线程与进程,你真得理解了吗

    线程与进程,你真得理解了吗相信大家面试时一定没少被一个问题刁难,那就是进程和线程的区别是什么?这个问题延申开来并不像表面那么简单,今天就来深入一探。开始前先看一组非常传神的图例,相信可以帮助你更好理解进程与线程的概念:1进程与线程的关系和区别什么是进程进程可以说是一个“执行中的程序”。程序是指令、数据及其组织形式的描述,是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。进程有哪些特征?进程依赖于程序运行而存在,进程是动态的,程序是静态的;进程是操作系统进行

    2022年7月25日
    9
  • lock.trylock_java中trycatch的用法

    lock.trylock_java中trycatch的用法概述tryLock()方法是有返回值的,它表示用来尝试获取锁,如果获取成功,则返回true,如果获取失败(即锁已被其他线程获取),则返回false,这个方法无论如何都会立即返回。在拿不到锁时不会一直在那等待。代码@Test publicvoidtestTryLock(){ Locklock=newReentrantLock(); newThrea

    2022年10月9日
    1
  • SpringBoot +JDBC连接Mysql数据库

    SpringBoot +JDBC连接Mysql数据库SpringBoot使用JDBC连接Mysql数据库    Spring连接Mysql的方式有很多,例如JDBC,SpringJPA,Hibeirnate,Mybatis等,本文主要介绍使用最简单、最底层的JDBC方式来连接Mysql数据库,JDBC连接数据库,主要是注入JdbcTemplate,使用JdbcTemplate来操作数据库。一、在mysql中的test库中建立user表,…

    2022年6月25日
    37
  • phpstorm license 2021激活码【在线注册码/序列号/破解码】

    phpstorm license 2021激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    51
  • 如何提取微信公众号文章里边的视频地址[通俗易懂]

    1.首先,找到含视频的公众号文章,复制文章链接地址。2.在电脑端浏览器打开这个链接,在网页空白位置点击右键,然后点击“查看网页源代码”。3.在打开的源代码网页里Ctrl+F输入 v.qq.com(腾讯视频的都是以这个开头的),找到在src后面的链接。4. https://v.qq.com/x/page/*****.html,这个是腾讯视频网址的标准格式,把刚才复制的vid编号替换网址中的星号…

    2022年4月15日
    1.5K

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号