散列查找 散列表(哈希表)

哈希表的平均查找长度是()的函数。
A.哈希表的长度
B.哈希表的装填因子
C.哈希函数
D.表中元素的多少

装填因子 = 关键字个数 / 表长

符号表:是 “名字(Name)–属性(Attribute)”对的集合
符号表也叫散列表(哈希表)

散列是一种重要的查找方法

它的基本思想是:以数据对象的关键字key为自变量,通过一个确定的函数关系h,计算出
对应的函数值h(key),把这个值解释为数据对象的存储地址,并按此存放,即“存储位置=h(key)”

散列方法中使用的计算函数称为**“散列函数/哈希函数”**
按这个思想构造的表称为散列表

散列函数的构造方法:
数字关键词的散列函数构造

  • 直接定址法:h(key)=a*key+b
  • 除留余数法:h(key)=key mod p
  • 数字分析法

字符串关键词的散列函数构造

处理冲突的方法:

开放地址法

线性探测法
冲突发生时,顺序查看表中下一单元,直到找出一个空单元或查遍全表
二次探测法
冲突发生时,在表的左右进行跳跃式探测,比较灵活

采用开放定址法处理冲突中的二次探测再散列(也即是题目中的二元探测法),则哈希函数变为Hash(key) = (Hash(key) + d) % 11,其中d = 12, -12, 22, -22, 32,……,则开始计算。

分离链接法
其做法就是将散列到同一个值的所有元素保存到一个表中。
双散列探测方法
对于使用平方探测的开放定址散列法,当元素填得太满的时候,操作运行的时间将消耗过长,而且插入操作有可能失败,此时则可以进行一次再散列来解决这一问题。

再散列会创建一个新的散列表,新的散列表大小为大于原散列表大小2倍的第一个素数,随后将原散列表的值重新散列至新的散列表中。

假定有K个关键字互为同义词,若用线性探测法把这K个关键字存入散列表中,至少要进行多少次探测?
A.K−1
B.K
C.K+1
D.K(K+1)/2

从一个具有N个结点的单链表中查找其值等于X的结点时,在查找成功的情况下,需平均比较多少个结点?
A.N/2
B.N
C.(N−1)/2
D.(N+1)/2

由于单链表只能进行单向顺序查找,以从第一个节点开始查找为例,查找第m个节点需要比较的节点数f(m)=m,查找成功的最好情况是第一次就查找成功,只用比较1个节点,最坏情况则是最后才查找成功,需要比较n个节点。

所以一共有n种情况,平均下来需要比较的节点为(1+2+3+…+(n-1)+n)/n=(n+1)/2。

下面关于哈希查找的说法,不正确的是( )。
A.采用链地址法处理冲突时,查找一个元素的时间是相同的
B.采用链地址法处理冲突时,若插入规定总是在链首,则插入任一个元素的时间是相同的
C.用链地址法处理冲突,不会引起二次聚集现象
D.用链地址法处理冲突,适合表长不确定的情况

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 postman 给 API 写测试

使用 postman 给 API 写测试Intro上次我们简单介绍了 使用 postman 测试 API,这次主要来写一些测试用例以检查请求的响应是否符合我们的预期以及如何使用脚本测试使用 postman 内置的随机变量postman 内置的有一些产生随机值的变量,在发送请求时随机生成…

图 无向图 有向图

若无向图G (V,E)中含7个顶点,要保证图G在任何情况下都是连通的,则需要的边数最少是: A.6 B.15 C.16 D.21 (n-1)*(n-2)/21 6 * 5/2116 设无向图的顶点个数为N,则该图最多有多少条边?…

Excel催化剂回顾2019年产出(文章合集),展望2020年

一年结束,大家都对自己一年辛勤耕耘作一个总结,Excel催化剂也不落俗,也来一篇文章合集式的梳理,方便大家对Excel催化剂的产出有一个宏观全局的认识。不断创新中前行Excel催化剂从2018年开波以来,累计到如今已有114个大…

朗文3000词汇表带音标_英语零基础音标语法都不会词汇量3000 学雅思到6/6.5分 需要多久 该如何做?...

谢邀~题主好!看来题主的零基础非常纯正。你现在测试的单词量是3000,只能大概展示出你的一些基础,但其实真正的还是要看你会使用,真正理解用法、语境的词汇有多少,而不是为了看起来有多少的那个数字。那么首先题主最好的…

选择排序 插入排序 交换排序

动图演示: https://www.runoob.com/w3cnote/bubble-sort.html 选择排序 简单选择排序 在未排序的序列中,选出最小的元素和序列的首位元素交换,接下来在剩下的未排序序列中,再选出最小元素与序列的第二位元素交换,以此…

ASP.NETCore编程实现基本认证

HTTP基本认证在HTTP中,HTTP基本认证(Basic Authentication)是一种允许浏览器或其他客户端程序使用(用户名,口令)请求资源的身份验证方式,不要求cookie,session identifier、login page等标记或载…

计算机原理(计算机系统漫游)

计算机五大组成部件:运算器(ALU),控制器,存储器,输入部件,输出部件 1.控制器 2.运算器 逻辑运算(判断事物的对与错) 数学运算(11) 控制器运算器中央处理器(CP…

使用ASP.NET Core 3.x 构建 RESTful API - 4.2 过滤和搜索

向Web API传递参数数据可以通过多种方式来传给API。 Binding Source Attributes 会告诉 Model 的绑定引擎从哪里找到绑定源。 共有以下六种 Binding Source Attributes: [FromBody] 请求的 Body [FromForm] 请求的 Body 中的 form数据 [FromHeader] 请求的 Header […

360浏览器linux版本_360安全浏览器崩溃解决方案

360安全浏览器崩溃解决方案方案一:打开360安全浏览器,按键盘上的F1调出浏览器医生界面,点击一键修复即可。如图所示:方案二:360浏览器打开了太多标签占用内存,并且随着浏览器开着的时间越长,占用…

.NET 开源软件开发BIM工具包xBIM

一、xBIM 简介BIM(Building Information Modelling)建筑信息模型,xBIM(eXtensible Building Information Modelling)可扩展的建筑信息模型。它是一个.NET 开源软件开发BIM工具包,支持BuildingSmart数据模型…

< meta name=“viewport“ content=“width=device-width, initial-scale=1.0“>的解释

< meta name“viewport” content“widthdevice-width, initial-scale1.0”> meta是html语言head区的一个辅助性标签&#xff0c;位于文档的头部&#xff0c;不包含任何内容 标签的属性定义了与文档相关的名称/值对 meta元素可提供相关页面的元信息&#xff0c;比如针对…

<meta name=“robots“ content=“index,follow“>的解释

为了让搜索引擎禁止抓取本页面 此标签必须放在< head >和< /head >之间 content中的值决定允许抓取的类型&#xff0c;必须同时包含两个值&#xff1a;是否允许索引&#xff08;index&#xff09;和是否跟踪链接&#xff08;follow&#xff0c;也可以理解为是否允…

2019(dotNet全栈开发)公众号回顾

2019年已经过去&#xff0c;人口红利已经逐渐消失&#xff0c;也许这是这10年互联网史上最糟糕的一年&#xff0c;也可能这是未来10年互联网史上最好的一年关于公众号&#xff0c;我其实很早就开始注册了&#xff0c;只是一直没怎么运营&#xff08;ps&#xff1a;不知道怎么推…

CSS padding margin border属性讲解

把所有网页上的对象都放在一个盒&#xff08;box&#xff09;中 &#xff0c;设计师可以通过创建定义来控制这个盒的属性&#xff0c;这些对象包括段落、列表、标题、图片以及层。 盒模型主要定义四个区域&#xff1a; 内容&#xff08;content&#xff09; 内边距&#xff08;…

laravel 模板继承_Laravel框架模板之公共模板、继承、包含实现方法分析

本文主要介绍了laravel框架模板之公共模板、继承、包含实现方法,结合实例形式分析了Laravel框架中公共模板的建立、模板包含、模板继承等相关操作技巧&#xff0c;需要的朋友可以参考下&#xff0c;具体如下&#xff1a;简介&#xff1a;利用laravel框架开发后台管理系统或web站…

css表格表单属性

表格标签 table表格 属性&#xff1a; border 边框属性 值 数字 width 宽度 值 数字 height 高度 值 数字 cellpadding单元格的内容到单元格边的距离 cellspacing单元格和单元格之间的间距 align规定表格水平如何摆放 值 left/center/right tr行 属性&#xff1a; height 高度…

2019 amazingdotnet 公众号回顾

2019 精彩文章汇总Intro新的一年了&#xff0c;把去年的精彩文章汇总一下&#xff0c;希望能对大家有所帮助博客园推荐文章asp.net core 3.0 更新简记asp.net core 从单机到集群动手造轮子&#xff1a;实现一个简单的 EventBusasp.net core 3.0 中使用 swaggerasp.net core 自定…

echarts字变大_在echarts中如何调整lable的字体大小?

波斯汪series[i]-pie.data[i].label.normal.textStyle.fontSize透過設定 fontSize 就可以調整大小了, 你可以參考 官網的範例, 手動修改左側欄 label 的 fontSize 看看, 是可以調整大小的.文檔在此用 legend.textStyle.fontSize 更改示例大小用 itemStyle.normal.label.textSty…

Identifiers in Java(Java标识符)

Identifiers&#xff08;标识符&#xff09; in Java are symbolic(符号化) names used for identification. They can be a class name, variable name, method name, package name, constant&#xff08;常量&#xff09; name, and more. However, In Java, There are some …

【实战 Ids4】║ 客户端、服务端、授权中心全线打通!

1、经过元旦两天的全力整改&#xff0c;终于在这新的一年&#xff0c;完成了我的布道生涯的第一个大步走 —— 那就是客户端&#xff08;VUE&#xff09;、服务端&#xff08;ASP.NET Core API&#xff09;、授权中心&#xff08;IdentityServer4&#xff09;的大融合&#xff…