码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构--散列表--散列表的性能分析

时间:2015-09-01 19:47:02      阅读:384      评论:0      收藏:0      [点我收藏+]

标签:

散列表的性能分析

平均查找长度(ASL)用来度量散列表查找效率:成功、不成功。

成功:查找的元素在散列表里面

不成功:查找的元素不在散列表里面

主要受三个因素的影响:

  1. 散列函数是否均匀
  2. 处理冲突的方法
  3. 散列表的装填因子

分析: 不同冲突处理方法、装填因子对效率的影响。

 技术分享

上面的只是反应了一般情况下的理论值。

技术分享

上面的也是反应了一般情况下的理论值。

技术分享

技术分享

技术分享

 

散列的特点:

  1. 散列查找 和问题规模没关系。
  2. 适合字符串的管理
  3. 散列表,装填因子小的,所用的时间少,因此,散列方法是一个以空间换时间的一种方法。
  4. 散列方法的存储对关键字的存储是随机的。不便于顺序查找关键字,也不适合于范围查找,或最大值最小值查找

开放地址法:

  1. 散列表是一个数组,存储效率高,随即查找
  2. 会产生聚集

分离链式法:

  1. 散列表是顺序存储和链式存储的结合,链表部分的存储效率和查找效率都比较低。
  2. 关键字删除不需要“惰性删除”法,从而没有存储“垃圾”。
  3. 太小的α可能导致空间浪费,大的α又会将付出更多的时间代价,不均匀的链表长度导致时间效率严重地下。

 

数据结构--散列表--散列表的性能分析

标签:

原文地址:http://www.cnblogs.com/zrui513/p/4776555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!