首页 > 其他分享 >哈希表概念

哈希表概念

时间:2023-09-22 21:22:05浏览次数:30  
标签:数组 占用 位置 哈希 概念 键值 key

总的来讲

哈希表就是通过也就是将key通过一个哈希函数加工处理之后得到一个值,这个值就是数据存放的位置,我们就可以根据这个值快速的找到我们想要的数据。

key是学号也就是101011,那么经过哈希函数的计算之后得到了1

如何取数据

猜测是遍历存放键值对的数组,遍历到数组中的一个元素就看看它的键是不是我们想要的键,如果是的话就取出它值

解决哈希冲突

当发现某一key通过哈希函数映射得到的位置上有键值对了,这就是哈希冲突

开放寻址法

既然当前位置被占用了,我们就看看该位置的后一个位置是否可用,也就是1的位置被占用了,我们就看看2的位置,如果没有被占用,那就放到这里呗,当然,也有可能2的位置也被占用了,那咱就继续往下找,看看3的位置,一次类推,直到找到空位置。

拉链法

哈希表中每个元素存储的是一个链表,如果李四和张三冲突那么就将李四放到张三的下一个结点

扩容

 

简单点说就是已经被占的位置达到了总位置的某一百分比(增长因子),比如70%,就需要扩容。方案是:新创建一个数组是原来的2倍,然后把原数组的所有键值对都放到新的数组,而它们要通过一个新的哈希函数计算出在新数组的位置。

 

参考:

来吧!一文彻底搞定哈希表!_哈希表庆哥_庆哥Java的博客-CSDN博客

标签:数组,占用,位置,哈希,概念,键值,key
From: https://www.cnblogs.com/Sandals-little/p/17723403.html

相关文章

  • 安全HCIE_网络安全概念及规范
    1.网络安全的定义网络安全包括:广义的网络安全,国家层面,与法律挂钩狭义的网络安全,不涉及法律 HCIA-Security认证,具备协助设计、部署和运维中小型企业网络安全架构的能力。安全产品:1.FW(新版防火墙):USG6000防火墙2.IDS(新版入侵威胁检测):NIP60003.AntiDDos1800系列-主要应......
  • CadQuery Concepts相关概念
    三维BREP拓扑概念CadQuery基于OpenCascade内核,它对对象使用边界表示(BREP)。这只是意味着对象是由它们的封闭表面定义的。1.vertex:asinglepointinspace顶点:几何中的某个点2.edge:aconnectionbetweentwoormoreverticesalongaparticularpath(calledacurve)......
  • JDBC概念
    1.概念2.驱动管理对象(drivermanage)3.获取数据库连接4.数据库连接对象(connection)5.执行sql对象(statemnet)6.代码实现packagecn.itcast.jdbc;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;publicclassJdbcDemo01{/**JD......
  • k8s-概念
    Kubernetes是一个开源的容器编排引擎,用来对容器化应用进行自动化部署、扩缩和管理。该项目托管在 CNCF。 什么时候用到kubernetes?1、当你的应用时微服务架构2、开发者需要快速部署自己的新功能到测试环境进行验证3、降低硬件资源成本,提高使用率......
  • 进击消息中间件系列(一):Kafka 入门(基本概念与架构)【转】
    在这之前,我们相继卷完了:关系型数据库 MySQL 、NoSQL数据库 Redis 、 MongoDB 、搜索引擎 ElasticSearch 、大数据 Hadoop框架、PostgreSQL数据库这些系列的知识体系。今天开始,我们将踏上另一个学习之路:中间件!第一个要学习的中间件就是:Kafka。消息队列介绍传统消息队......
  • Python基础分享之面向对象的基本概念
    Python使用类(class)和对象(object),进行面向对象(object-orientedprogramming,简称OOP)的编程。面向对象的最主要目的是提高程序的重复使用性。我们这么早切入面向对象编程的原因是,Python的整个概念是基于对象的。了解OOP是进一步学习Python的关键。下面是对面向对象的一种理解,基于分......
  • 操作系统的概念
    操作系统的定义操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配(操作系统是系统资源的管理者);以提供给用户和其他软件方便的接口和环境(向上层提供方便易用的服务);它是计算机系统中最基本的系统软件(最接近硬件的一层软件)。操作系统的功......
  • 云安全的基本概念
    随着云计算技术的快速发展和普及,越来越多的企业和个人开始采用云计算服务来降低成本、提高效率、实现资源共享等。然而,随着云计算应用的不断拓展和深化,云安全问题也逐渐浮出水面,成为行业关注的热点和难点。在本文中,我们将从初识云安全、认识云安全、云安全的两种形态、云安全服务商......
  • 电商商品API数据:概念、应用与未来趋势
    一、引言随着电子商务的飞速发展,电商平台间的竞争愈发激烈。为了提供更优质的服务,许多电商平台选择开放其商品API数据,允许第三方开发者利用这些数据创建各种创新的应用。本文将对电商商品API数据的相关概念、应用场景及未来发展趋势进行深入探讨。二、电商商品API数据概述1.电商商......
  • 哈希
    哈希134.报文回路importjava.util.Scanner;importjava.util.*;//注意类名必须为Main,不要有任何packagexxx信息publicclassMain{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);intcount=Integer.pa......