zoukankan      html  css  js  c++  java
  • 什么是散列表?

    ①为什么要用散列表?

    数组的特点是:寻址容易,插入和删除困难;

    链表的特点是:寻址困难,插入和删除容易;

    那么能不能综合两者的特性,做出一种寻址容易,插入和删除也容易的数据结构?答案是肯定的,这就是我们要了解的散列表,也叫哈希表

    ②什么是散列表?

    散列表也叫hash表 ,是根据关键码值而进行直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射也叫散列函数,存放记录的数组叫散列表。

    给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则成表M为Hash表,函数f(key)为哈希函数。

     ③散列表有哪些特点?

    HashMap具有优秀的查找性能。根据key找到value,性能最好的算法!(没有之一)。无论数据多少,查找方法的性能始终如一!为了实现根据key告诉找到value,散列表提供了高性能查找算法。利用散列数组算法进行散列查找,性能很好。无论数据量有多少,都会在一个固定的时间,找回结果!甚至是在亿级别数据量上进行查找!凡是软件中需要查找根据key查找到value时,一定使用散列表。

    ④使用散列表的注意事项:

    ①key-value成对数据添加到散列表

    ②key不可以重复,value可以重复

    ③key-value规定为一个条目(Entry)

     ④散列表中散列数组的大小称为容量

    ⑤key-value数量称为size

    ⑥size/容量称为加载因子,要小于75%,如果大于75%,会自动扩容

    ⑦自动扩容会影响put添加性能,可以事先通过设置初始容量,提高put的性能

    ⑧散列表的默认初始容量是16,默认加载因子是75%,建议不要修改加载因子

     

  • 相关阅读:
    团队项目个人工作总结(4.27)
    团队项目个人工作总结(4.26)
    团队项目个人工作总结(4.25)
    评测—输入法
    学习进度(2016.4.24)
    团队项目个人工作总结(4.24)
    团队项目个人工作总结(4.23)
    第一阶段冲刺(第四天)
    典型用户和用户场景描述
    第一阶段冲刺(第三天)
  • 原文地址:https://www.cnblogs.com/baxianhua/p/9244769.html
Copyright © 2011-2022 走看看