zoukankan      html  css  js  c++  java
  • 常用数据结构(散列表又叫哈希表)

    1.散列表

    • 散列表是实现字典操作的一种有效数据结构,基本的字典操作只需要O(1)的时间。
    • 最坏情况下散列表中查找一个元素的时间与链表中查找的时间相同,达到了θ(n),在一些合理假设下,在散列表中查找一个元素的平均时间是O(1)。
    • 散列表是普通数组概念的推广。散列表使用一个长度与实际存储的关键字数目成比例的数组来存储,实际存储的关键字数目比全部的可能关键字的数目要小。这个数组称为直接寻址表,其中的每个位置称为槽。不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标,
    • 冲突:指多个关键字映射到数组的同一个槽中。
    • 冲突了肯定不行了,散列函数是解决冲突的办法。通过散列函数通过关键字k计算出槽的位置。
    • 散列方法的平均性能依赖于所选取的散列表函数h将所有的关键字集合分布在m个槽位上的均匀长度。
    • 关键字、散列函数和散列表的关系如下:

    2.常用处理冲突的方法

    (1)链接法和

    (2)开放寻址法

    (3)在散列法

    (4)建立一个公共溢出

    容我在研究研究。。。。

  • 相关阅读:
    深浅拷贝
    生成式、生成器、迭代对象、迭代器
    memcached
    redis安装配置
    基于docker搭建mysql主从复制架构
    centos 安装 最新版本的docker
    Linux小技巧
    神奇的'license': 'AGPL 3.0'标签报错
    新博客重新开通了
    通过linkserver不能调远程表值函数
  • 原文地址:https://www.cnblogs.com/sjxbg/p/6043946.html
Copyright © 2011-2022 走看看