zoukankan      html  css  js  c++  java
  • 算法图解-散列表

      散列表,也叫哈希表。特点:查找速度快。

      要点:散列表的实现、冲突和散列函数。

    5.1散列函数

    要求:

    1. 散列函数的输入、输出必须是一致的,即固定的输入必须对应固定的输出值;
    2. 散列函数的输入、输出最好的唯一的,也即理想情况下映射是唯一的。
      def check_voter(name):
          if voted.get(name):
              print ("kick them out")
          else:
              voted[name] = True
              print ("let them vote!")
      check_voter(name)

      上面的代码只是通过字典来说明散列表的用法。

    5.2应用

      散列表常用于缓存、DNS解析等。

    5.3冲突

      如果两个键映射到同一个位置,通过存储链表解决。

    5.4性能

      散列表平均情况为O(1),最糟情况为O(n)。

      良好的散列函数使装填因子总小于1。

    总结:

    1. 可结合散列函数和数组创建散列表
    2. 应使用可以最大限度减少冲突的散列函数
    3. 散列表的查找、插入和删除速度非常快
    4. 散列表适合用于仿真映射关系
    5. 一旦装填因子超过0.7,就该调整散列表的长度
    6. 散列表可用于缓存数据
    7. 散列表非常适合用于防止重复

    示例:C语言实现的数据结构之------哈希表

    https://blog.csdn.net/smstong/article/details/51145786

      

  • 相关阅读:
    SQL Server 性能优化之RML Utilities:快速入门(Quick Start)(1)
    sp_rename sqlserver 表 列 索引 类型重命名
    T- SQL性能优化详解
    sql-索引的作用(超详细)
    用一条SQL语句取出第 m 条到第 n 条记录的方法
    SARG
    git
    ssh
    70小事
    websocket
  • 原文地址:https://www.cnblogs.com/mofei004/p/8888531.html
Copyright © 2011-2022 走看看