17、数据结构解析:从哈希表到布隆过滤器

数据结构解析:从哈希表到布隆过滤器

1. 排序数组作为字典的分析

在处理联系人列表时,一种方法是对联系人进行排序,然后使用二分查找。但从运行时间来看,对列表进行排序的初始成本以及添加新条目的成本都很高。如果需要保留原始列表的顺序,还可能需要线性额外内存来复制原始列表。

操作 运行时间 额外内存
创建结构 O(n*log(n)) O(n)
查找条目 O(log(n))
添加新条目 O(n)
删除条目 O(n)
2. 哈希表:平均常数时间

哈希表用于实现关联数组,存储的值可能来自非常大的集合,但通常只需存储有限数量的值。使用哈希函数将可能值的集合(定义域)映射到较小的 M 元素集合(值域),即普通数组的索引。由于值域通常小于定义域,会出现冲突,哈希表使用链地址法或开放寻址法等策略解决冲突。

哈希表分为哈希映射和哈希集合,前者允许将值与键关联,后者仅记录键在集合中的存在与否。哈希集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值