hashset 和 set 集合的区别

hashsetset 集合

在 Python 中,hashsetset 集合之间有一定的关系,但它们并不完全相同。解释如下:

  1. set 集合
    • set 是 Python 内置的数据类型,用于存储一组不重复的元素。
    • set集合的特点包括:
      • 去重:集合中的元素必须是唯一的,不会重复。
      • 无序:集合中的元素没有固定的顺序,不支持索引访问。
      • 可哈希:集合中的元素必须是可哈希的,即可以使用内置函数 hash()
      • 可迭代:虽然元素无序,但可以迭代遍历集合中的元素。
  2. hashset
    • hashset 并不是 Python 的标准库中的数据类型,但你可以自己实现一个类似于哈希集合的数据结构。
    • 通常情况下,我们使用 Python 的内置 set 来实现哈希集合的功能。
    • set 内部使用哈希表(hash table)来存储数据项,实现了去重和快速查找。
    • 关于哈希表:
问题答案
哈希表是什么Hash table哈希表是根据关键码(索引)的值而直接进行访问的数据结构。
哈希表能解决什么问题快速判断一个元素是否出现集合里
哈希函数hash function把学生的姓名直接映射为哈希表上的索引的函数,之后可查询索引下标
哈希碰撞- 出现的原因:学生数据dataSize超过和哈希表大小tableSize
- 导致结果:不同学生映射到相同索引
- 解决方法:拉链法和线性探测法
①拉链法发生冲突的元素都被存储在链表中
②线性探测法- 前置条件:tableSize大于dataSize,表存在空位
- 解决方法:将冲突数据防止到空位处
常见的三种哈希结构是什么- 数组
- set (集合)
- map(映射)
什么时候用哈希法需要快速判断一个元素是否出现集合里时
优缺点牺牲了空间换取了时间:使用额外的数组,set或者是map来存放数据,才能实现快速的查找
  1. 区别
    • set 是 Python 提供的标准集合类型,具有上述特点。
    • 如果你需要自定义一些额外的方法或属性,你可以创建一个类似于 hashset 的类,但通常情况下,直接使用 Python 的 set 就足够了。
  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值