数据结构:实现二分查找的递归算法,要求,随机产生100个随机整数,使用选择排序法对其排序,然后用二分查找的递归
时间: 2023-07-19 18:33:21 浏览: 95
《数据结构》课程设计_排序算法比较以及算术表达式求值.doc
算法查找其中是否包含某个整数。
好的,以下是实现二分查找的递归算法的步骤:
1. 随机产生100个随机整数并使用选择排序法对其进行排序。
```python
import random
# 生成100个随机整数
numbers = [random.randint(1, 1000) for i in range(100)]
# 选择排序法
for i in range(len(numbers)):
min_index = i
for j in range(i+1, len(numbers)):
if numbers[j] < numbers[min_index]:
min_index = j
numbers[i], numbers[min_index] = numbers[min_index], numbers[i]
print(numbers)
```
2. 实现递归的二分查找算法。
```python
def binary_search_recursion(numbers, left, right, target):
if left > right:
return False
mid = (left + right) // 2
if target == numbers[mid]:
return True
elif target < numbers[mid]:
return binary_search_recursion(numbers, left, mid-1, target)
else:
return binary_search_recursion(numbers, mid+1, right, target)
```
3. 调用二分查找算法查找目标值是否存在于随机整数序列中。
```python
target = random.randint(1, 1000)
if binary_search_recursion(numbers, 0, len(numbers)-1, target):
print(f"{target} exists in the list.")
else:
print(f"{target} does not exist in the list.")
```
完整代码如下:
阅读全文