分治法查找最大最小值实验代码
时间: 2024-10-12 17:09:27 浏览: 37
分治法查找最大最小值通常用于数组或列表中,通过将数据集划分为更小的部分,分别找出每个部分的最大值和最小值,然后合并这些局部结果得到全局的最大值和最小值。这是一种递归的过程。
下面是一个简单的Python实验代码示例:
```python
def find_min_max(arr):
# 基线条件:如果数组只有一个元素,直接返回该元素作为最小值和最大值
if len(arr) == 1:
return arr[0], arr[0]
# 如果数组有两个或更多元素
else:
# 将数组一分为二
mid = len(arr) // 2
left_min, left_max = find_min_max(arr[:mid])
right_min, right_max = find_min_max(arr[mid:])
# 合并结果
min_val = min(left_min, right_min)
max_val = max(left_max, right_max)
return min_val, max_val
# 测试代码
arr = [5, 3, 9, 1, 7, 4, 8, 2, 6]
min_val, max_val = find_min_max(arr)
print(f"Minimum value: {min_val}")
print(f"Maximum value: {max_val}")
阅读全文