哈希(哈希散列数据结构)---底层原理

Day02:

1.哈希散列数据结构:底层实现就是:数组+链表(红黑树)

map的put方法和get方法。

2.数组方法和链表存取数据的区别

数组方:法随机访问快

链表:增删改效率快。

3.哈希结合了链表和数组的特性。

哈希算法的规则:哈希值是c++写的。

面试常问:

java中哈希算法:

保证了数组长度必定是0-2n

元素的个数永远小于数组的长度。扩充因子,就导致元素个数永远小于元素长度。

扩容会引起哈希map中的值变化,其每哈希一边就会更新一边元素存放的位置,哈希表的

哈希散列表:解决了即需要随机访问,又要增删改快的问题

哈希散列算法的原理:

(1)链地址法(java中使用)邻接表法(处理冲突的方式是以当前位置创建一个链表出来)直接定址法(浪费空间)。

(2)开放寻址法(处理哈希冲突)

哈希函数:1。取余法 H(Key)=key%p;p是指最大容量。

Ridas满足一致性哈希原则:解决了雪崩。

服务器不满足一致性哈希原则:

      

一致性哈希:会出现雪崩

稀疏数组(稀疏矩阵就是一个二维数组):应用场景(棋盘)

行列值和状态都是有用的。

棋盘代码(js简单代码):

   

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>

<body>

    <script>

        let chesses=new Array(15);

        for(let i=0;i<chesses.length;i++){

            chesses[i] = new Array(15);

        }

        

        for(let i=0;i<chesses.length;i++){

            for(let j=0;j<chesses[i].length;j++){

               chesses[i][j] = 0;

            }    

        }

        chesses[2][4] = 1;

        chesses[3][3] = 1;

        chesses[3][4] = 2;

        chesses[4][2] = 1;

        chesses[4][3] = 2;

        chesses[4][4] = 2;

        chesses[5][3] = 1;

        

        for(let i=0;i<chesses.length;i++){

            for(let j=0;j<chesses[i].length;j++){

               document.write(chesses[i][j]+" ");

            }      

            document.write("<br>");      

        }

         

    </script>

</body>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/397078.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在四维轻云中,如何实现地理空间数据云管理?

四维轻云是一款轻量化的地理空间数据网页管理平台&#xff0c;支持倾斜模型(.osgb)、激光点云(.las)、正射影像(dom)和数字高程模型(dem)等多种地理空间数据的在线管理、编辑及分享&#xff0c;其他类型地理空间数据也将陆续上线。 目前&#xff0c;平台具有项目管理、数据上传…

营销短信群发的注意事项?短信营销的优点?

营销短信的关键是什么&#xff1f;群发国际营销短信的好处&#xff1f; 营销短信作为一种高效、直接的推广方式&#xff0c;越来越受到企业的青睐。然而&#xff0c;要想让营销短信发挥最大的效果&#xff0c;就需要注意一些关键事项。接下来&#xff0c;蜂邮EDM将深入探讨营销…

【Java多线程】线程安全问题与解决方案

目录 1、线程安全问题 1.2、线程安全原因 2、线程加锁 2.1、synchronized 关键字 2.2、完善代码 2.3、对同一个线程的加锁操作 3、内容补充 3.1、内存可见性问题 3.2、指令重排序问题 3.3、解决方法 3.4、总结 volatile 关键字 1、线程安全问题 某个代码&#xff…

2023年全球前端大技术大会(GMTC北京站2023):核心内容与学习收获(附大会核心PPT下载)

此次峰会是一次内容丰富、有深度和广度的技术盛会。参会者不仅可以了解前端技术的最新发展和未来趋势&#xff0c;还可以与业界专家交流心得&#xff0c;提升自己的技能和能力。同时&#xff0c;此次大会也促进了全球前端社区的交流和合作&#xff0c;推动了前端技术的创新和发…

DP读书:《openEuler操作系统》(十)套接字 Socket 数据传输的基本模型

10min速通Socket 套接字简介数据传输基本模型1.TCP/IP模型2.UDP模型 套接字类型套接字&#xff08;Socket&#xff09;编程Socket 的连接1.连接概述(1)基本概念(2)连接状态(3)连接队列 2.建立连接3.关闭连接 socket 编程接口介绍数据的传输1. 阻塞与非阻塞2. I/O复用 数据的传输…

【数据分享】2014-2024年全国监测站点的逐时空气质量数据(15个指标\Excel\Shp格式)

空气质量的好坏反映了空气的污染程度&#xff0c;在各项涉及城市环境的研究中&#xff0c;空气质量都是一个十分重要的指标。空气质量是依据空气中污染物浓度的高低来判断的。 我们发现学者王晓磊在自己的主页里面分享了2014年5月以来的全国范围的到站点的逐时的空气质量数据&…

绝地求生:四大成长武器 满级效果好到爆 钱包真保不住了

刚才看了上手时机视频 说真的这次的四大成长皮肤 只能说是好看到爆啊 小伙伴们&#xff0c;这次过年的路费 可能就要被冲没有了 先来看看悟空的武器特写吧&#xff01; 悟空的皮肤是M24成长皮肤 也是不错 炫酷的很哦 仔细看枪托的细节 是由紧箍咒的形状哦&#xff0c;这下…

Flink Catalog 解读与同步 Hudi 表元数据的最佳实践

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…

【C语言的小角落】逻辑与逻辑或混合计算

关注小庄 顿顿解馋(≧◡≦) 引言&#xff1a;本篇博客小庄带领小伙伴们解决一个比较角落有时头疼的问题—关于逻辑与和逻辑或结合运算的问题&#xff0c;请放心食用~ 我们先放代码说话 int main() {int x 1;int y 3;int z 4;if(x1 || y && z){;} printf("y …

自动驾驶中之定位总结

1 前言2 典型的单个定位方式2.1 基于通信的定位方法2.1.1 GNSS 全球卫星导航系统2.1.1.1 gnss的优点与缺点2.1.1.2 gnss定位技术2.1.1.2.1 RTK定位技术2.1.1.2.2 PPP定位技术 2.1.1.2 gnss定位技术总结 2.1.2 车联网定位 2.1 基于航位推算的定位方法2.1.1 惯性测试单元定位IMU2…

unity 使用VS Code 开发,VS Code配置注意事项

vscode 对应的插件&#xff08;unity开发&#xff09; 插件&#xff1a;.Net Install Tool,c#,c# Dev Kit,IntelliCode For C# Dev Kit,Unity,Unity Code Snippets 本人现在是用了这些插件 unity需要安装Visual Studio Editor 1、.Net Install Tool 设置 需要在设置里面配置…

美容小程序:让预约更简单,服务更贴心

在当今繁忙的生活节奏中&#xff0c;美容预约常常令人感到繁琐和疲惫。为了解决这个问题&#xff0c;许多美容院和SPA中心已经开始采用美容小程序来简化预约流程&#xff0c;并提供更加贴心的服务。在这篇文章中&#xff0c;我们将引导您了解如何制作一个美容小程序&#xff0c…

网络安全--网鼎杯2018漏洞复现(二次注入)

一、环境&#xff1a;在线测试平台 BUUCTF在线评测 (buuoj.cn) 二、进入界面先尝试万能账号 1or11# 换格式 hais1bux1 11or11# 三、万能的不行那我们就得想注册了&#xff0c;去register.php去看看 注册个账号 发现用户名回显&#xff0c;猜测考点为用户名处二次注入&…

Stable Diffusion WebUI 界面介绍

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 大家好&#xff0c;我是水滴~~ 本文主要对 Stable Diffusion WebUI 的界面进行简单的介绍&#xff0c;让你对该 WebUI 有个大致的了解&#xff0c;为后面的深入学习打下一个基础。主要内容包…

算法沉淀——BFS 解决拓扑排序(leetcode真题剖析)

算法沉淀——BFS 解决拓扑排序 01.课程表02.课程表 II03.火星词典 Breadth-First Search (BFS) 在拓扑排序中的应用主要是用来解决有向无环图&#xff08;DAG&#xff09;的拓扑排序问题。拓扑排序是对有向图中所有节点的一种线性排序&#xff0c;使得对于每一条有向边 (u, v)&…

网络防火墙综合实验

备注&#xff1a;电信网段15.1.1.0 移动网段14.1.1.0 办公区 11.1.1.0 生产区 10.1.1.0 服务区 13.1.1.0 公网 1.1.1.1 和 2.2.2.2 需求&#xff1a; 1、办公区设备可以通过电信链路和移动链路上网&#xff08;多对多nat&#xff0c;并且需要保留一个公网ip&#xff09; 2、…

第二证券:资金持续入场掘金成长板块

上证指数重回2900点、ETF成交活跃、科技股强势反弹……龙年首个交易日&#xff0c;在心情回暖、资金涌入的背景下&#xff0c;A股迎来开门红&#xff0c;组织也摩拳擦掌进行布局。 从仓位状况来看&#xff0c;私募排排网数据显现&#xff0c;到2月2日&#xff0c;私募全体仓位…

CPU设计之分支预测

1、引言 在之前的学习过程中&#xff0c;我们一直在假设程序是顺序执行的。PC每一次都默认4&#xff0c;一直这样周而复始。然而CPU就和人生一样&#xff0c;不可能一直一帆风顺的向前走。在某些场合我们总是需要做出决策&#xff0c;这些决策点&#xff0c;就像高速公路的一个…

litemall系统默认弱口令漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

Emlog博客网站快速搭建并结合内网穿透实现远程访问本地站点

文章目录 前言1. 网站搭建1.1 Emolog网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2.Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 3. 公网访问测试总结 前言 博客作为使…