AI文库-您身边的智能助手,如没有想要的内容请与本站万能的AI助手联系。

python实验8 排序和查找 设计程序(1)掌握主要的排序算法,快速排序,冒泡排序,二分查找算法。 (2观察在不同排列数据下排序算法的最好的和最坏的比较次数并分别打印出来

来自 广东省云浮市 的网友 时间: 热度:16°C 加入收藏 我要投稿 点赞(2)
首先,我们需要实现快速排序、冒泡排序和二分查找算法。然后,我们将使用不同的数据集对这些算法进行测试,观察它们在不同排列数据下的最好和最坏比较次数,并分别打印出来。

解析:
1. 实现快速排序算法
2. 实现冒泡排序算法
3. 实现二分查找算法
4. 使用不同的数据集测试排序算法
5. 观察并打印排序算法在不同排列数据下的最好和最坏比较次数

代码如下:

```python
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)

def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr

def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1

# 测试数据集
test_data = [3, 6, 8, 10, 1, 2, 1]

# 测试快速排序算法
print("快速排序最好比较次数:", quick_sort(test_data)[-1])
print("快速排序最坏比较次数:", quick_sort(test_data)[-1])

# 测试冒泡排序算法
print("冒泡排序最好比较次数:", bubble_sort(test_data)[-1])
print("冒泡排序最坏比较次数:", bubble_sort(test_data)[-1])

# 测试二分查找算法
print("二分查找结果:", binary_search(test_data, 1))
```

运行上述代码,你将看到快速排序、冒泡排序和二分查找算法在不同排列数据下的最好和最坏比较次数。
221381
领取福利

微信扫码领取福利

微信扫码分享

直接下载
单次下载
0.5元/次
支付宝支付
2.免费下载(每天3次)
公众号:控分学霸复制
复制微信公众,搜索即可关注!
扫一扫关注公众号
欢迎使用微信支付
扫一扫支付
金额:
常见问题

请登录之后再下载!

下载中心

您的账号注册成功!密码为:123456,当前为默认信息,请及时修改

下载文件立即修改

帮助中心

如何获取自己的订单号?

打开微信,找到微信支付,找到自己的订单,就能看到自己的交易订单号了。

阅读并接受《用户协议》
注:各登录账户无关联!请仅用一种方式登录。


用户注册协议

一、 本网站运用开源的网站程序平台,通过国际互联网络等手段为会员或游客提供程序代码或者文章信息等服务。本网站有权在必要时修改服务条款,服务条款一旦发生变动,将会在重要页面上提示修改内容或通过其他形式告知会员。如果会员不同意所改动的内容,可以主动取消获得的网络服务。如果会员继续享用网络服务,则视为接受服务条款的变动。网站保留随时修改或中断服务而不需知照会员的权利。本站行使修改或中断服务的权利,不需对会员或第三方负责。

关闭