哈希查找串行算法代码
以下是一个简单的哈希查找串行算法的代码示例:
class HashTable:
def __init__(self, size):
self.size = size
self.table = [[] for _ in range(size)]
def _hash_function(self, key):
return key % self.size
def insert(self, key, value):
hash_value = self._hash_function(key)
self.table[hash_value].append((key, value))
def search(self, key):
hash_value = self._hash_function(key)
for item in self.table[hash_value]:
if item[0] == key:
return item[1]
return None
def delete(self, key):
hash_value = self._hash_function(key)
for item in self.table[hash_value]:
if item[0] == key:
self.table[hash_value].remove(item)
return
使用示例:
hash_table = HashTable(10)
hash_table.insert(5, "apple")
hash_table.insert(10, "banana")
hash_table.insert(15, "orange")
print(hash_table.search(10)) # 输出: "banana"
print(hash_table.search(20)) # 输出: None
hash_table.delete(10)
print(hash_table.search(10)) # 输出: None
这个代码示例实现了一个简单的哈希表,其中的哈希函数使用取模运算将关键字映射到指定范围内的索引。哈希冲突时,使用链地址法将冲突的元素存放在同一个索引位置的链表中
原文地址: http://www.cveoy.top/t/topic/id2K 著作权归作者所有。请勿转载和采集!