首页 > 其他分享 >散列表(哈希表)

散列表(哈希表)

时间:2024-10-25 15:24:32浏览次数:1  
标签:装填 TableSize 哈希 列表 因子 key

基本思想

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

装填因子

设散列表空间大小为m,填入表中的元素个数是n,则装填因子a=n/m,常见散列表大小设计使得a=0.5~0.8为宜

装填因子有什么用?

装填因子决定了散列表的负载程度。装填因子越大,散列表的负载越重,冲突的概率也越高,查找性能可能会下降;
反之,装填因子越小,冲突的概率就越低,但散列表的空间利用率也会降低。

同义词

映射到同一散列地址上的关键字称为同义词

散列函数的构造方法

直接定址法

除留取余法
常用方法,假设散列表长为TableSize(TableSize的选取,通常由关键词的大小n和允许最大装填因子a决定,一般将TableSize取n/a),选择一个正整数p<=TableSize,散列函数为:
h(key)=key mod p

除此之外,还有很多方法。

标签:装填,TableSize,哈希,列表,因子,key
From: https://www.cnblogs.com/CyfS1mple/p/18502615

相关文章

  • 请求放入对象列表中
    好的,你想要将解析到的GET请求包含的信息放到一个对象列表中,这样可以更方便地管理和使用这些信息。你可以定义一个包含URL、请求参数及其名称和请求格式的类,然后将解析到的信息存储到该类的对象列表中。首先,定义一个类来存储GET请求的信息:importjava.util.Map;publicclassAp......
  • 灰色代码部分:要是输入名字列表,又能输出结果,但是空列表的时候就输出不了?
    大家好,我是Python进阶者。一、前言前几天在Python白银交流群【Aciel】问了一个Python基础的问题,问题如下:灰色代码部分:要是输入名字列表,又能输出结果,但是空列表的时候就输出不了?二、实现过程这里【瑜亮老师】给了一个指导,具体如下所示:@Aciel 循环fornameinnames: 遍历......
  • Qt 进程保活(开源,国产环境)QTableWidget列表
    效果图第一步设计器拖拽一个QTableWidget和三个QPushButton,布局一下第二步上码1.mainwindow.h代码如下(示例):#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include<QMainWindow>#include<QDebug>#include<QPushButton>#include<QLabel>#include<QFileInfo......
  • 鸿蒙开发融云Demo消息列表
    鸿蒙开发融云IMKit消息列表融云鸿蒙版是不带UI的,得自己一步步搭建。融云后期好像也不会出带UI的库,还是早点自己弄吧一、思路:IMEngine.getInstance().getConversationListByPage获取二、效果图:三、关键代码:获取列表数据:publicstaticloadConversationList(conversat......
  • 关键词搜索唯品会商品列表API返回值说明
    vip.item_search-按关键字搜索vip商品数据接口返回值说明1.请求参数请求参数:q=鞋子&start_price=&end_price=&page=&cat=&discount_only=&sort=&page_size=&seller_info=&nick=&ppath=参数说明:q:搜索关键字cat:分类IDstart_price:开始价格end_price:结束价格sort:排序[......
  • 【泛微E9】在查询列表中增加红色字体的提示
    效果如下:实现方法:代码如下:<linkrel="stylesheet"href="/js/jquery-ui-1.13.2/jquery-ui.css"><linkrel="stylesheet"href="/js/jquery-ui-1.13.2/jquery-ui.min.css"><scriptsrc="/js/jquery-ui-1.13.2/jque......
  • Mybatisplus TableInfoHelper:获取entity对应的数据表字段列表
    如题,调用TableInfoHelper#getTableInfo(clazz)这个工具方法可以得到entity类所对应的数据表的字段列表。importcom.baomidou.mybatisplus.core.metadata.TableInfoHelper;importcom.baomidou.mybatisplus.core.metadata.TableFieldInfo;importcom.baomidou.mybatisplus.co......
  • 字符串哈希 学习笔记
    两种哈希的表示方式。设\(s_i\)为字符串内第\(i\)位,\(h_i\)表示字符串内\([1,i]\)的哈希值,\(p\)为模数,那么第一种哈希方式是:\(h_i=h_{i-1}*p+s_i\),即把\(h_i\)当作一个\(p\)进制数,加入\(s_i\)时在数的末尾。\(h_i=h_{i-1}+s_i*p^{i-1}\),即是在开头加入\(s_i\)......
  • 浅谈哈希及一类应用杂题
    浅谈哈希及一类应用杂题关于哈希的一些另类想法PS:与后文实际应用无关哈希的目的本质就是比较两个无法直接比较是否相同的一些东西,通过赋值来使其获得比较大小的能力,然后就想能不能搞一个随手就能整出来还不容易被卡常数比如之前好多题卡\(131\)什么的。如果我的数是纯随机的......
  • 哈希碰撞
    问:两个字符串hashcode相同equals一定相同吗?equals相同hashcode一定相同吗?答:equals相同hashcode一定相同,hashcode因为哈希碰撞所以equals不一定相同。Hash如何存数据hash表的本质其实就是数组,hash表中通常存放的是键值对Entry。如下图:  这里的学号是个key,哈希表就是根据k......