排序算法小结(python 实现)
来源:互联网 发布:网络黄金egd还有希望吗 编辑:程序博客网 时间:2024/06/07 17:39
1 直接插入排序
#每次将一个待排元素按照其大小排到合适的位置def insertsort(value): n = len(value) for i in range(1,n): temp = value[i] #print(temp) j = i-1 while j >= 0 and temp < value[j]: value[j+1] = value[j] j -= 1 value[j+1] = temp return valueprint(insertsort(l))
2 冒泡排序
#每趟比较出最大的放最后def bubblesort(value): n = len(value) flag = 0 for i in range(n): for j in range(n-i-1): if value[j] > value[j+1]: value[j+1], value[j] = value[j], value[j+1] flag = 1 if flag == 0: break return valueprint(bubblesort(l))
3 快速排序
#每次将轴放到合适的位置def quicksort(value,l,r): i,j = l,r if l<r: temp = value[l] while i != j: while i<j and value[j]>temp: j -= 1 if i<j: value[i] = value[j] i += 1 while i<j and value[i]<temp: i += 1 if i<j: value[j] = value[i] j -= 1 value[i] = temp quicksort(value,l,i-1) quicksort(value,i+1,r)quicksort(l,0,len(l)-1)print(l)
4 选择排序
#每次选最小的def selectsort(value): l = len(value) for i in range(l): temp = value[i] k = i for j in range(i+1,l): if value[j]<temp: temp = value[j] k = j value[k] = value[i] value[i] = temp return valueprint(selectsort(l))
5 堆排序
#建堆,注意下标def adjust_heap(value,i,n): l = 2*i r = 2*i+1 max = i if l<=n: if value[l]>value[i]: max = l if r<=n and value[r]>value[max]: max = r if max != i: value[max],value[i] = value[i],value[max] adjust_heap(value,max,n)def heap_sort(value): n = len(value)-1 for i in range(n/2,0,-1): adjust_heap(value,i,n) for j in range(n,1,-1): value[1],value[j] = value[j],value[1] adjust_heap(value,1,j-1) return valueprint(heap_sort(l))
阅读全文
0 0
- 排序算法小结(python 实现)
- Python 排序算法小结
- 排序算法python实现
- 排序算法Python实现
- Python实现排序算法
- 排序算法python实现
- 各种排序算法小结和实现
- 直接排序算法python实现
- python 实现插入排序算法
- 基本排序算法:Python实现
- python实现各种排序算法
- python实现排序算法目录
- 排序算法总结-python实现
- python实现常见排序算法
- Python实现快速排序算法
- python实现快速排序算法
- Python:经典排序算法实现
- python实现经典排序算法
- No signature of method: static org.gradle.api.java.archives.Manifest.srcFile() is applicable for arg
- WatchOS系统开发大全(3)-创建第一个WatchApp工程
- Qt笔记-TabWidget
- 关于file文件,通过file文件对图片进行操作
- 神奇的操作 [vector、二分]
- 排序算法小结(python 实现)
- zoj1655(最短路)
- NYOJ1058 部分和问题
- spring常用注解(未完待续)
- 仿IOS样式对话框
- 关于雅克比矩阵与黑塞矩阵
- Interger
- 谷歌研究发现优秀的团队必须具备这五个关键特质
- CSS学习笔记