Python实现冒泡排序,快速排序,插入排序和希尔排序算法
2021/11/10 17:09:44
本文主要是介绍Python实现冒泡排序,快速排序,插入排序和希尔排序算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Python实现冒泡排序,快速排序,插入排序和希尔排序算法
目录
Python实现冒泡排序,快速排序,插入排序和希尔排序算法
前言
一、冒泡排序
二、快速排序
三、插入排序
四、希尔排序
前言
这些排序算法以前都用C++实现过,这里记录一下飞桨领航团AI达人养成营下的作业。
下面是一些是个人觉得对这些算法写的还不错博客
六大排序算法:插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序
一、冒泡排序
# 随机生成 import numpy as np #请把冒泡排序算法补充完整 def bubble_sort(nums): ''' 代码补充 ''' for i in range(len(nums)-1): for j in range(i, len(nums)): if nums[i] > nums[j]: k = nums[i] nums[i] = nums[j] nums[j] = k return nums if __name__ == '__main__': # 打乱顺序并随机生成 nums=np.random.permutation(20) print(nums) print(bubble_sort(nums))
二、快速排序
# 随机生成 import numpy as np #请把快速排序算法补充完整 def quickSort(arr): ''' 代码补充 ''' if len(arr) < 2: return arr tmp = arr[0] smaller_arr = [i for i in arr[1:] if i <= tmp] bigger_arr = [i for i in arr[1:] if i > tmp] return quickSort(smaller_arr) + [tmp] + quickSort(bigger_arr) if __name__ == '__main__': nums=np.random.permutation(20) print(nums) print(quickSort(nums))
三、插入排序
# 随机生成 import numpy as np #请把插入排序算法补充完整 def insertionSort(arr): ''' 代码补充 ''' for i in range(1, len(arr)): tmp = arr[i] j = i-1 while tmp < arr[j] and j>=0: arr[j+1] = arr[j] j -= 1 arr[j+1] = tmp return arr if __name__ == '__main__': nums=np.random.permutation(20) print(nums) print(insertionSort(nums))
四、希尔排序
# 随机生成 import numpy as np #请把希尔排序算法补充完整 def shellSort(arr): ''' 代码补充 ''' group = len(arr) while group: group //= 2 for i in range(0, len(arr) - group): tmp = arr[i + group] j = i while tmp < arr[j] and j>=0: arr[j+group] = arr[j] j -= group arr[j+group] = tmp return arr if __name__ == '__main__': nums=np.random.permutation(20) print(nums) print(shellSort(nums))
这篇关于Python实现冒泡排序,快速排序,插入排序和希尔排序算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-13python项目部署
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门