数据结构查找算法的代码
时间: 2024-03-29 10:32:40 浏览: 66
数据结构中的查找算法是用于在给定数据集合中查找指定元素的算法。以下是几种常见的数据结构查找算法及其代码示例:
1. 线性查找算法(Linear Search):
线性查找算法是最简单的一种查找算法,它逐个比较数据集合中的元素,直到找到目标元素或遍历完整个集合。
代码示例:
```python
def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i
return -1 # 如果未找到目标元素,返回-1
# 示例用法
arr = [5, 2, 9, 1, 7]
target = 9
result = linear_search(arr, target)
print("目标元素在数组中的索引为:", result)
```
2. 二分查找算法(Binary Search):
二分查找算法是一种高效的查找算法,要求数据集合必须是有序的。它通过将目标元素与数据集合的中间元素进行比较,并根据比较结果缩小查找范围,直到找到目标元素或确定不存在。
代码示例:
```python
def binary_search(arr, target):
low = 0
high = len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
low = mid + 1
else:
high = mid - 1
return -1 # 如果未找到目标元素,返回-1
# 示例用法
arr = [1, 2, 5, 7, 9]
target = 9
result = binary_search(arr, target)
print("目标元素在数组中的索引为:", result)
```
3. 哈希查找算法(Hash Search):
哈希查找算法利用哈希函数将数据映射到哈希表中的位置,通过查询哈希表来快速定位目标元素。
代码示例:
```python
def hash_search(hash_table, key):
hash_value = hash(key) % len(hash_table)
if hash_table[hash_value] == key:
return hash_value
else:
return -1 # 如果未找到目标元素,返回-1
# 示例用法
hash_table = [None] * 10
hash_table[3] = "apple"
hash_table[7] = "banana"
key = "banana"
result = hash_search(hash_table, key)
print("目标元素在哈希表中的位置为:", result)
`
阅读全文