排序算法 python3
来源:互联网 发布:淘宝积分有什么用处 编辑:程序博客网 时间:2024/06/05 16:10
希尔算法
a=[8,2,7,5,1,9,6,4,3]point=1dk=len(a)while True: dk=dk//2 for n in range(dk): point=dk+n while point <len(a): temp=a[point] index=-1 for i in range(n,point,dk): if temp < a[i]: index=i break; if index != -1: for i in reversed(range(index,point,dk)): a[i+dk]=a[i] a[index]=temp point +=dk if dk ==1: breakprint(a)
冒泡排序
a=[5,2,7,4,3,6,8,0,1,9] for i in range(len(a)-1): min=0 for s in range(len(a)-1-i): if a[min] > a[s+1]: min=s+1 if a[min] != a[len(a)-1-i]: temp=a[min] a[min]=a[len(a)-i-1] a[len(a)-1-i]=temp print(a)
- 快速排序(ps:快速排序是对冒泡排序的升级, 快速排序更适合与对随机数的排序)
[python] view plain copya=[9,2,7,4,3,6,5,8,1] def quickScore(a,start,end): temp=a[start] for i in range(start+1,end): if temp > a[i] : temp2=a[i] for n in reversed(range(start,i)): a[n+1]=a[n] a[start]=temp2 index=a.index(temp) if index - start > 1 : quickScore(a,start,index) if end-1 - index > 1 : quickScore(a,index+1,end) quickScore(a,0,9) print(a)
3.1插入排序–直接插入排序
编写思想以及步骤如下:
if index != -1: for i in reversed(range(index,point)): a[i+1]=a[i] a[index]=point point+=1print(a)[python] view plain copya=[9,2,7,4,3,6,5,8,1] bijiao=0 jiaohuan=0 point=1 while point<len(a): temp=a[point] index=-1 for i in range(point): bijiao+=1 if temp<a[i]: index=i break if index !=-1: for i in reversed(range(index,point)): a[i+1]=a[i] jiaohuan+=1 a[index]=temp point+=1 print(a) print('比较次数:'+str(bijiao)) print('交换次数:'+str(jiaohuan))
阅读全文
0 0
- 排序算法 python3
- Python3 数据结构与算法之冒泡排序
- Python3 数据结构与算法之选择排序
- 部分排序算法的基本思想及用python3 实现
- python3字典排序
- Python3.×实现选择排序
- python3字典排序
- python3 快速排序
- python3 冒泡排序
- 快速排序代码python3
- 归并排序(python3)
- Python3中list排序
- 选择排序Python3实现
- Python3 列表自定义排序
- Python3.4 Apriori算法
- python3实现决策树算法
- kNN算法--Python3实现
- Python3自定义key函数排序
- Java内存模型-开端
- Linux下inode知识
- 1.Go语言结构
- JAVA UDP
- Android java 序列化工具类 SerializableUtil
- 排序算法 python3
- JNDI
- Spark+Hadoop环境搭建
- ExpandableListView(手风琴)(2)---CursorTreeAdapter(数据库)
- *(volatile unsigned long *) 语法
- #C数据结构 联合体union
- oracle 设置归档模式
- #山外K60函数 FTM_PWM_…
- #C运算符 位运算符