哈希查找算法python代码
时间: 2024-11-21 21:29:50 浏览: 7
哈希查找,也叫散列查找,是基于数组的数据结构实现的一种高效查找方法。在Python中,可以使用内置的字典(dict)或自定义哈希表来实现。这里是一个简单的Python代码示例,使用列表和字典分别演示哈希查找:
### 使用列表实现哈希查找 (简单版本)
```python
# 定义一个列表作为哈希表
hash_table = [None] * 10
# 哈希函数,例如取索引为整数除以列表长度的余数
def hash_function(key):
return key % len(hash_table)
# 插入操作(假设key不在列表中)
def insert(key, value):
index = hash_function(key)
if not hash_table[index]:
hash_table[index] = [(key, value)]
else:
hash_table[index].append((key, value))
# 查找操作
def search(key):
index = hash_function(key)
if hash_table[index]:
for pair in hash_table[index]:
if pair[0] == key:
return pair[1]
return None
# 示例
insert(5, "Value5")
print(search(5)) # 输出 "Value5"
```
### 使用Python字典实现 (复杂版本)
```python
# Python自带的字典实现哈希查找,无需自定义哈希函数和插入操作
my_dict = {}
# 插入操作
my_dict[5] = "Value5"
# 查找操作
if 5 in my_dict:
print(my_dict[5]) # 输出 "Value5"
else:
print(None)
```
这里的哈希函数通常是直接使用键的值或者某种计算方式得到的,Python字典内部已经自动处理了哈希冲突(当两个键经过哈希函数得到相同的索引)。实际应用中,复杂的哈希函数和解决冲突的开放寻址法、链地址法等会用于提高查找效率。
阅读全文