数据结构基于顺序查找表实现顺序查找以及二分查找代码
时间: 2023-07-18 22:13:30 浏览: 107
下面是基于顺序查找表实现顺序查找和二分查找的代码示例:
```python
# 顺序查找
def sequential_search(seq_list, target):
for i in range(len(seq_list)):
if seq_list[i] == target:
return i
return -1
# 二分查找
def binary_search(seq_list, target):
left, right = 0, len(seq_list) - 1
while left <= right:
mid = (left + right) // 2
if seq_list[mid] == target:
return mid
elif seq_list[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
```
以上代码中,`sequential_search` 函数实现了顺序查找,接收一个顺序查找表 `seq_list` 和一个目标值 `target`,返回目标值在表中的位置,如果不存在则返回 -1。
`binary_search` 函数实现了二分查找,接收一个已排序的顺序查找表 `seq_list` 和一个目标值 `target`,返回目标值在表中的位置,如果不存在则返回 -1。在每次查找时,先计算出中间元素的位置 `mid`,然后将目标值与中间元素进行比较,如果相等则返回中间元素的位置,如果目标值小于中间元素,则在左半部分继续进行二分查找,否则在右半部分继续进行二分查找,直到找到目标元素或者左右两个指针相遇无法继续查找为止。
阅读全文