做雷达干扰的网站wordpress换域名不换空间
- 作者: 五速梦信息网
- 时间: 2026年04月18日 10:02
当前位置: 首页 > news >正文
做雷达干扰的网站,wordpress换域名不换空间,南宁最高端网站建设,做快递单的网站会不会是骗人的原文链接#xff1a;https://www.cnblogs.com/ktao/p/8714513.html
什么是Hash#xff1f; Hash中文翻译为散列#xff0c;又成为“哈希”#xff0c;是一类函数的统称#xff0c;其特点是定义域无限#xff0c;值域有限。把任意长度的输入#xff08;又叫做预映射https://www.cnblogs.com/ktao/p/8714513.html
什么是Hash Hash中文翻译为散列又成为“哈希”是一类函数的统称其特点是定义域无限值域有限。把任意长度的输入又叫做预映射 pre-image通过散列算法变换成固定长度的输出该输出就是散列值。这种转换是一种压缩映射也就是散列值的空间通常远小于输入的空间不同的输入可能会散列成相同的输出所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
基本概念
若关键字为k则其值存放在f(k)的存储位置上。由此不需比较便可直接取得所查记录。称这个对应关系f为散列函数按这个思想建立的表为散列表。
对不同的关键字可能得到同一散列地址即k1≠k2而f(k1)f(k2)这种现象称为碰撞英语Collision。具有相同函数值的关键字对该散列函数来说称做同义词。综上所述根据散列函数f(k)和处理碰撞的方法将一组关键字映射到一个有限的连续的地址集区间上并以关键字在地址集中的“像”作为记录在表中的存储位置这种表便称为散列表这一映射过程称为散列造表或散列所得的存储位置称散列地址。若对于关键字集合中的任一个关键字经散列函数映象到地址集合中任何一个地址的概率是相等的则称此类散列函数为均匀散列函数Uniform Hash function这就是使关键字经过散列函数得到一个“随机的地址”从而减少碰撞。
什么是Hash表
定义 哈希表是一种根据关键码去寻找值的数据映射结构该结构通过把关键码映射的位置去寻找存放值的地方说起来可能感觉有点复杂我想我举个例子你就会明白了最典型的的例子就是字典大家估计小学的时候也用过不少新华字典吧如果我想要获取“按”字详细信息我肯定会去根据拼音an去查找 拼音索引当然也可以是偏旁索引我们首先去查an在字典的位置查了一下得到“安”结果如下。这过程就是键码映射在公式里面就是通过key去查找f(key)。其中按就是关键字keyf就是字典索引也就是哈希函数查到的页码4就是哈希值。 哈希冲突 但是问题又来了我们要查的是“按”而不是“安但是他们的拼音都是一样的。也就是通过关键字按和关键字安可以映射到一样的字典页码4的位置这就是哈希冲突也叫哈希碰撞在公式上表达就是key1≠key2但f(key1)f(key2)。冲突会给查找带来麻烦你想想你本来查找的是“按”但是却找到“安”字你又得向后翻一两页在计算机里面也是一样道理的。 但哈希冲突是无可避免的为什么这么说呢因为你如果要完全避开这种情况你只能每个字典去新开一个页然后每个字在索引里面都有对应的页码这就可以避免冲突。但是会导致空间增大每个字都有一页。 既然无法避免就只能尽量减少冲突带来的损失而一个好的哈希函数需要有以下特点 1.尽量使关键字对应的记录均匀分配在哈希表里面比如说某厂商卖30栋房子均匀划分ABC3个区域如果你划分A区域1个房子B区域1个房子C区域28个房子有人来查找C区域的某个房子最坏的情况就是要找28次。 2.关键字极小的变化可以引起哈希值极大的变化。
解决冲突 如果遇到冲突哈希表一般是怎么解决的呢具体方法有很多百度也会有一堆最常用的就是开发定址法和链地址法。 1.开发定址法 如果遇到冲突的时候怎么办呢就找hash表剩下空余的空间找到空余的空间然后插入。就像你去商店买东西发现东西卖光了怎么办呢找下一家有东西卖的商家买呗。 由于我没有深入试验过所以贴上在书上的解释 2.链地址法 上面所说的开发定址法的原理是遇到冲突的时候查找顺着原来哈希地址查找下一个空闲地址然后插入但是也有一个问题就是如果空间不足那他无法处理冲突也无法插入数据因此需要装填因子(空间/插入数据)1。 那有没有一种方法可以解决这种问题呢链地址法可以链地址法的原理时如果遇到冲突他就会在原地址新建一个空间然后以链表结点的形式插入到该空间。我感觉业界上用的最多的就是链地址法。下面从百度上截取来一张图片可以很清晰明了反应下面的结构。比如说我有一堆数据{1,12,26,337,353…}而我的哈希算法是H(key)key mod 16第一个数据1的哈希值f(1)1插入到1结点的后面第二个数据12的哈希值f(12)12插入到12结点第三个数据26的哈希值f(26)10插入到10结点后面第4个数据337计算得到哈希值是1遇到冲突但是依然只需要找到该1结点的最后链结点插入即可同理353。 优缺点
hash表其实是结合了数组和链表的优点进行的折中方案。平衡了数组和链表的优缺点。
优点插入和查找速度快时间复杂度为O(1)
缺点 1. 扩展性差需要提前预测数据量的大小 2. 不能有序遍历数据
应用场景 Hash主要应用于数据结构中和密码学中。 用于数据结构时主要是为了提高查询的效率这就对速度比较重视对抗碰撞不太看中只要保证hash均匀分布就可以。 在密码学中hash算法的作用主要是用于消息摘要和签名换句话说它主要用于对整个消息的完整性进行校验。
数据结构 使用Hash的数据结构叫做散列表主要是为了提高查询的效率。也有直接译作哈希表也叫Hash表 Hash表是一种特殊的数据结构它同数组、链表以及二叉排序树等相比较有很明显的区别它能够快速定位到想要查找的记录而不是与表中存在的记录的关键字进行比较来进行查找。这个源于Hash表设计的特殊性它采用了函数映射的思想将记录的存储位置与记录的关键字关联起来从而能够很快速地进行查找。
密码学 在密码学中hash算法的作用主要是用于消息摘要和签名换句话说它主要用于对整个消息的完整性进行校验。 举个用于消息摘要例子银行的数据库中是不能保存用户密码的原文的只能保存密码的hash值。在这种应用场景里对于抗碰撞和抗篡改能力要求极高对速度的要求在其次。一个设计良好的hash算法其抗碰撞能力是很高的。以MD5为例其输出长度为128位设计预期碰撞概率为这是一个极小极小的数字——而即便是在MD5被王小云教授破解之后其碰撞概率上限也高达也就是说至少需要找次才能有1/2的概率来找到一个与目标文件相同的hash值。 需要注意的是hash算法在密码学中主要用于信息的摘要和完整性校验而不是加密。 概括来说哈希Hash是将目标文本转换成具有相同长度的、不可逆的杂凑字符串或叫做消息摘要而加密Encrypt是将目标文本转换成具有不同长度的、可逆的密文。
相关文章
-
做了静态网站怎么显示在互联网上网站建设是做什么的
做了静态网站怎么显示在互联网上网站建设是做什么的
- 技术栈
- 2026年04月18日
-
做蓝牙音箱在什么网站上找客户建设校园网站的好处
做蓝牙音箱在什么网站上找客户建设校园网站的好处
- 技术栈
- 2026年04月18日
-
做跨境电商网站有哪些wordpress播入视频播放
做跨境电商网站有哪些wordpress播入视频播放
- 技术栈
- 2026年04月18日
-
做类似返利网的网站有哪些网站建设的战略作用
做类似返利网的网站有哪些网站建设的战略作用
- 技术栈
- 2026年04月18日
-
做类似美团的网站吗龙岗专业网站建设
做类似美团的网站吗龙岗专业网站建设
- 技术栈
- 2026年04月18日
-
做类似淘宝网站怎么做的整站关键词快速排名
做类似淘宝网站怎么做的整站关键词快速排名
- 技术栈
- 2026年04月18日
