• 数据结构-哈希表(散列表)


    哈希表 是唯一一个专用于集合的数据结构。可以以常量的平均时间实现插入,删除和查找

    哈希表的时间复杂度是 O(1)

    哈希表的思想是 用一个与集合差不多大小的数组来存储这个集合,将数据元素的关键字映射的数组的下标上面,这个映射我们称之为 散列函数   数组称之为 散列表,查找数据的时候,根据被查找的关键字找到存储数据元素的地址,从而获取元素

     散列函数的应用带来一个比较复杂的问题:;

    因为散列函数的定义域范围比值域大 导致2个或者更多的数据元素可能会被映射到同一个位置  称为 冲突或者碰撞。这种情况是不可避免的。因此 实现哈希表 二个基本的问题是

    1如何设计散列函数 

    2如何解决碰撞问题

    解决哈希碰撞的几种方法:

    1:开放地址法

    2:在哈希法  C# hashtable

    3: 链地址法  C#  dictionary

    4:建立一个公共溢出区

  • 相关阅读:
    强迫症患者
    GG的匹配串
    漂洋过海来看你
    Fire or Retreat
    1011. A+B和C (15)
    1010. 一元多项式求导 (25)
    1009. 说反话 (20)
    1008. 数组元素循环右移问题 (20)
    1007. 素数对猜想 (20)
    1006. 换个格式输出整数 (15)
  • 原文地址:https://www.cnblogs.com/burg-xun/p/11735360.html
Copyright © 2020-2023  润新知