编写程序实现顺序查找和折半查找
时间: 2024-04-22 21:22:56 浏览: 138
好的,以下是顺序查找和折半查找的 Python 代码实现:
## 顺序查找
def sequential_search(lst, item):
# 从列表的第一个元素开始遍历
for i in range(len(lst)):
# 如果当前元素等于查找的元素,则返回该元素的下标
if lst[i] == item:
return i
# 如果没有找到,则返回 -1
return -1
## 折半查找
def binary_search(lst, item):
# 定义左右两个指针
left = 0
right = len(lst) - 1
# 只要左指针小于等于右指针,就继续查找
while left <= right:
# 计算中间位置
mid = (left + right) // 2
# 如果中间位置的元素等于查找的元素,则返回该元素的下标
if lst[mid] == item:
return mid
# 如果中间位置的元素大于查找的元素,则在左半部分继续查找
elif lst[mid] > item:
right = mid - 1
# 如果中间位置的元素小于查找的元素,则在右半部分继续查找
else:
left = mid + 1
# 如果没有找到,则返回 -1
return -1
阅读全文