当前位置: 首页 > news >正文

网站基础优化杭州比较好的代运营公司

网站基础优化,杭州比较好的代运营公司,网站建设评分细则,网站运营者是做啥工作的一、Hash的概念和基本特征 哈希(Hash)也称为散列,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,这个输出值就是散列值。 二、碰撞处理方法(2种) 在上面的例子中,我们发现有些在Hsh中很多位置可能要存两个甚…

一、Hash的概念和基本特征
哈希(Hash)也称为散列,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,这个输出值就是散列值。


二、碰撞处理方法(2种)
在上面的例子中,我们发现有些在Hsh中很多位置可能要存两个甚至多个元素,很明显单纯的数组是不行的,这种两个不同的输入值,根据同一散列函数计算出的散列值相同的现象叫做碰撞。
那该怎么解决呢?常见的方法有:开放定址法(Java里的Threadlocal)、链地址法(Java里的ConcurrentHashMap)、再哈希法(布隆过滤器)、建立公共溢出区。后两种用的比较少,重点看前两个。


1.开放定址法
开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入。
例如上面要继续存7,8,9的时候,7没问题,可以直接存到索引为0位置。8本来应该存到索引为1的位置,但是已经满了,所以继续向后找,索引3的位置是空的,所以8存到3位置。同理9存到索引6位置。
这里是否有一个疑惑:这样鸠占鹊巢的方法会不会引起混乱?比如再存3和6的话,本来自己的位置好好的,但是被外来户占领了,该如何处理呢?这个问题直到我在学习Java里的ThreadLocal才解开。具体过程可以学习一下相关内容,我们这里只说一下基本思想。ThreadLocal?有一个专门存储元素的TheadLocalMap,每次在get和set元素的时候,会先将目标位置前后的空间搜索一下,将标记为nul的位置回收掉,这样大部分不用的位置就收回来了。这就像假期后你到公司,每个人都将自己的位子附近打扫干净,结果整个工作区就很干净了。当然Hsh处理该问题的整个过程非常复杂,涉及弱引用等等,这些都是Java技术面试里的高频考点。

2.链地址法
将哈希表的每个单元作为链表的头结点,所有哈希地址为的元素构成一个同义词链表。即发生冲突时就把该关键字链在以该单元为头结点的链表的尾部。

这种处理方法的问题是处理起来代价还是比较高的,要落地还要进行很多优化,例如在Java里的ConcurrentHashMap中就使用了这种方式,其中涉及元素尽量均匀、访问和操作速度要快、线程安全、扩容等很多问题。
 

http://www.yayakq.cn/news/921054/

相关文章:

  • 企业网站建设600元龙华网站建设网站定制
  • 外包做的网站怎么维护企业型网站建设怎样收费
  • 商务网站的建设与管理网站首页效果图
  • 网站vip怎么做哪些网站做品牌特卖
  • 南昌网站建设优化公司排名酒泉网站建设费用
  • 网站优化如何做一家专门做灯的网站
  • 如何提高网站的收录率和收录量网站建设策划 优帮云
  • 启东住房和城乡建设局网站重庆市建筑工程信息网官网
  • 上线了 做商务网站医院网站加快建设
  • 自己学建网站做钓鱼网站教程视频教程
  • 深圳做外贸网站多少钱猎头公司怎么收费
  • 网站建设进度总结wordpress 拼团插件
  • 个人作品网站淄博网站建设推广
  • 旺道网站优化东莞建网站公司哪个好
  • 刷百度指数网站门户网站部署方案
  • 银川商城网站建设青岛 网站制作公司
  • 小程序网站开发公司郑州做网站琴
  • 求一个自己做的网站链接网站内部优化的方法
  • o2o网站建设方案讲解网站推广营销策划
  • 网站建设 php互联网营销师培训费用是多少
  • 学做网站 为了熊掌号北京网站排名方案
  • 建设网站是公司资产企业邮箱一般用什么
  • 抽奖怎么做网站汕头seo课程培训
  • 搜索引擎网站分析网站建设维护php
  • 安徽百度seo公司seo教学免费课程霸屏
  • 做承诺的网站做二手房的网站技巧
  • 网站设计宽度尺寸淘宝客app开发
  • 建设网站的结束语php 网站建设
  • 全网黄页网站天津定制网站建设公司
  • 那个网站可以做网页网站注册申请