Description:
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
本题请使用散列函数:除留余数法(取关键字被某个不大于散列表表长m的数p除后所得的余数为散列地址)建立哈希表,并判断给定值是否在散列表中。
注意:本题请考虑冲突情况,即碰撞。本题请使用链冲突法解决冲突,即散列到相同地址后以建立子链的方式解决元素冲突,因此本题不考虑总元素大于散列表大小而溢出的情况。重复元素只存一个。
Solution:
# Filename : hashTable.py
class hashTable():
"""docstring for hashT"""
# 回头再加注释吧
def __init__(self,size):
self.table = [None] * size
self.size=size
#插入元素,使用链式方法
def insert(self,value):
index = value % self.size # 哈希函数在此
#print('value:',value,' self.table[index]:',self.table[index])
if value == self.table[index