赞
踩
哈希表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。
在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种。创建集合set、集合set添加、集合删除、交集、并集、差集的操作都是非常实用的方法。
- #创建一个集合
- test_list = set([])
- #添加
- test_list.add()
- #删除
- test_list.remove()
- #更新
- test_list.update()
不使用任何内建的哈希表库设计一个哈希集合
具体地说,你的设计应该包含以下的功能
add(value)
:向哈希集合中插入一个值。contains(value)
:返回哈希集合中是否存在这个值。remove(value)
:将给定值从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。示例:
- MyHashSet hashSet = new MyHashSet();
- hashSet.add(1);
- hashSet.add(2);
- hashSet.contains(1); // 返回 true
- hashSet.contains(3); // 返回 false (未找到)
- hashSet.add(2);
- hashSet.contains(2); // 返回 true
- hashSet.remove(2);
- hashSet.contains(2); // 返回 false (已经被删除)
注意:
[0, 1000000]
的范围内。[1, 10000]
范围内。- class MyHashSet:
-
- def __init__(self):
- self.test_list = set([])
-
- def add(self, key):
- self.test_list.add(key)
-
- def remove(self, key):
- if self.contains(key):
- self.test_list.remove(key);
-
- def contains(self, key):
- return key in self.test_list
warning :未经授权,不得转载
有问题的小伙伴请在下方留言,喜欢就点个赞吧;关注我,带你一起写bug
CSDN:带只拖鞋去流浪
简书:带只拖鞋去流浪
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。