pymongo查询列表元素_数据结构与算法 | 散列表

550bd8e43b6308a7e99faa8ffca827ee.png

散列表是啥?

散列表(Hash table,也叫哈希表)是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录。这个映射函数称做散列函数,存放记录的数组称做散列表。


散列表用的是数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展。通过散列函数把元素的键值映射为下标,然后将数据存储在数组中对应的下标的位置;当按照键值查询元素的时候,用同样的散列函数,将键值转化为数组下标,从对应的数组下标的位置取数据;

可能你还是不清楚散列表长啥样,还是不知道散列到底有啥用?不要着急,接着往下看就明白了!

550bd8e43b6308a7e99faa8ffca827ee.png

为什么要用散列?

散列是一种常用的算法思想,在很多任务中(特别是快速查询)我们都会有意无意地使用到。因为个人感觉直接阐述散列表的优点不够直观,所以我引入了一个简单的例子,方便大家迅速get到散列表的优势。

57383ab0-113d-eb11-8da9-e4434bdf6706.svg

给出N个正整数,再给出M个正整数,问着M个数中的每个数分别是否在N个数中出现过,其中N,M≤10^5。例如N = 5, M &

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值