python静态查找
时间: 2023-11-23 09:57:09 浏览: 42
以下是一个简单的Python静态查找表的实现示例:
```python
class StaticSearchTable:
def __init__(self, data):
self.data = data
def sequential_search(self, key):
for i in range(len(self.data)):
if self.data[i] == key:
return i
return -1
def binary_search(self, key):
low, high = 0, len(self.data) - 1
while low <= high:
mid = (low + high) // 2
if self.data[mid] == key:
return mid
elif self.data[mid] > key:
high = mid - 1
else:
low = mid + 1
return -1
```
上述代码中,我们定义了一个名为StaticSearchTable的类,它包含了两个基本操作:顺序查找和二分查找。其中,顺序查找的时间复杂度为O(n),而二分查找的时间复杂度为O(logn)。
在使用时,我们可以先创建一个StaticSearchTable对象,然后调用其中的方法进行查找。例如:
```python
data = [1, 3, 5, 7, 9]
table = StaticSearchTable(data)
print(table.sequential_search(5)) # 输出:2
print(table.binary_search(5)) # 输出:2
```