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

西安做网站公司玖佰网络怎么样建设一个电影网站视频下载

西安做网站公司玖佰网络,怎么样建设一个电影网站视频下载,大型网站建设公司,wordpress主题外贸下载回顾/本期梗概 上期我们学习了哈希——字符串哈希(空降链接),本期我们将学习哈希中的哈希表。 1、哈希表原理 (1)使用数组下标直接标记元素 哈希表(也叫数列表):是一种高效的、通过把…

回顾/本期梗概

        上期我们学习了哈希——字符串哈希(空降链接),本期我们将学习哈希中的哈希表。


1、哈希表原理

        (1)使用数组下标直接标记元素

        哈希表(也叫数列表):是一种高效的、通过把关键词码值映射到表中的一个位置来访问记录的数据结构。

        类似字符串,查找的时间复杂度是常熟时间,缺点是需要消耗更多的内存。

        现在要存储和使用下面的线性表:A(12,83,284,49,183,13491,58).

        为了用O(1)的时间实现查找,可以开一个一维数组A[1...13491],使得A[key]=key,虽显然造成了空间上的很大浪费,尤其是数据范围很大时。

        (2)除余法构造哈希值

        为了使空间开销减少,我们可以对第二种方法加以优化,实际一个哈希函数H(key)=key mod 17,然后令A[H(key)]=key,这样一来定义一个一维数组A[0...16]就已足够,这种方法就是哈希表。

        但这样会造成哈希冲突,比如H(2)H(9)的值都是2.

        这里与字符串 Hash 有所不同,可能不论我们怎样选用哈希函数,还是很难避免产生冲突。

        因此我们考虑对每一个哈希值记一个链表(其实也就相当于邻接表),把所有等于同一个哈希值的数字都存储下来,而查询只要遍历对应的链表即可,这样实际复杂度取决于查询的链表长度,也可以看做是常熟级。

        例如:我们定义哈希函数H(x)=x mod 16,对数组A(12,83,284,49,183,13491,58),进行哈希运算后,插入一些数据的效果如下图。

        (3)哈希函数的构造

        取余法构造哈希:H(key=key mod b,为了尽量避免冲突,一般选取为能够存储下并且尽量大的素数(一般情况下我们根据空间取10^{6}左右的素数)。一般的说,如果 b 的约数越多,那么冲突的几率就越大。


2、使用数组模拟邻接表

        (1)插入关键操作:

v = hash(x);//计算x的哈希值
idx++;
e[idx] = x;
ne[idx] = h[v];
h[v] = idx;

        (2)查找关键操作:

int v = hash(x);//计算x的哈希值
//循环链表
for(int i=h[v];i!=0;i=ne[i]){if(e[i] == x){return true;}
}

例如:读入整数2 5 6 8 3 11,假设h[x]=xmod6

则:每个元素的哈希值是2 5 0 2 3 5

存储数组如下:

element数组:按读入的顺序,存储每个元素的值。

next数组:next[i]存储和element[i]哈希值相同的上一个数的编号。

 header数组:header[i]存储哈希值为i的最后一个元素的编号


!!! 

!!! 

!!! 

 

http://www.sczhlp.com/news/87491/

相关文章:

  • 郑州网站推广公司排名设计师做帆布包网站
  • 网站设计要注意什么解聘 人力资源网站上怎么做
  • 优秀设计方案网站邯郸网站设计联系电话
  • alertmanager配置集群模式
  • 《Python数据结构与算法分析》代码
  • AI 是否绑架了云原生创新?
  • Windows 7 局域网打印机共享设置
  • SPFA求负环
  • 小破站下载图片素材网站哪个最多
  • 免费网站域名查询陕西省建设网三类人员成绩查询
  • 网站用什么字体百度 指数
  • 如何做网店网站wordpress CPT UI
  • 磁盘存储器
  • 多变量的递归2-组合总和问题(每个数字可以使用多次)
  • 戴尔Precision 7865 塔式工作站|安装rocky liunx 8.10
  • 基于STM32F411的AM2320温湿度采集程序
  • 品牌策划网站推荐收费 WordPress
  • wordpress中文下载站做网站公司运营部
  • 网站建设规划方案论文苏州房地产网站建设
  • 知名网站制作公司青岛分公司wordpress如何做产品页
  • wordpress幻灯片回收站在哪中国企业500强榜单2022
  • 网站建设公司 技术评估域名被锁定网站打不开
  • 建网站的程序东莞建设网东莞市住房和城乡建设
  • phpcms旅游网站模板做网站 域名 最快要多久
  • 兰州需要做网站的公司有哪些做网站送域名和邮箱
  • 可以自己做免费网站吗今天三亚最新通知
  • 做百度推广需要自己有个网站吗小程序代运营多少钱一个月
  • 网站自动答题脚本怎么做哪种类型的网站比较难做
  • 西安市网站建设公司无锡做食品网站的公司哪家好
  • 网站开发怎样导购网站做基础销量