基于散列表电话号码查找系统
时间: 2023-09-29 12:09:30 浏览: 111
散列表电话号码查找系统是一种常见的数据结构,用于快速查找电话号码。它的基本原理是将电话号码作为键值存储在散列表中,然后通过散列函数将键值转换为散列地址,最终将电话号码存储在对应的散列地址中。
下面是一个基于散列表的电话号码查找系统的示例代码:
```python
class Phonebook:
def __init__(self):
self.table_size = 1000 # 散列表大小
self.table = [None] * self.table_size # 初始化散列表
def hash_func(self, key):
# 散列函数,将电话号码转换为散列地址
address = 0
for i in range(len(key)):
address += ord(key[i])
return address % self.table_size
def insert(self, key, value):
# 插入电话号码及对应的值
address = self.hash_func(key)
if self.table[address] is None:
self.table[address] = []
self.table[address].append((key, value))
def lookup(self, key):
# 查找电话号码对应的值
address = self.hash_func(key)
if self.table[address] is not None:
for i in range(len(self.table[address])):
if self.table[address][i][0] == key:
return self.table[address][i][1]
return None
```
通过上述示例代码,我们可以实现一个基于散列表的电话号码查找系统。具体地,该系统使用散列表存储电话号码及对应的值,其中散列函数将电话号码转换为散列地址,最终将电话号码存储在对应的散列地址中。通过查找电话号码对应的散列地址,我们可以快速查询电话号码对应的值。
阅读全文