python 冒泡排序 选择排序 插入排序的对比分析
2016-02-29 09:39
639 查看
定义列表:
插入排序的原理:始终定义第一个元素为有序的,将元素逐个插入到有序排列之中,其特点是要不断的移动数据,空出一个适当的位置,把待插入的元素放到里面去。(所谓插入排序法,就是检查第i个数字,如果i+1个的数字比它大,进行交换)插入排序的函数如下:
选择排序的原理:每次在无序队列中“选择”出最小值,放到有序队列的最后,并从无序队列中去除该值(具体实现略有区别)。代码如下:
冒泡排序的原理:每次在无序队列里将相邻两个数依次进行比较,将小数调换到前面,逐次比较,直至将最大的数移到最后。最将剩下的N-1个数继续比较,将次大数移至倒数第二位。依此规律,直至比较结束。冒泡代码如下:
q=[4,1,3,2,6,8,7] n=len(q)
插入排序的原理:始终定义第一个元素为有序的,将元素逐个插入到有序排列之中,其特点是要不断的移动数据,空出一个适当的位置,把待插入的元素放到里面去。(所谓插入排序法,就是检查第i个数字,如果i+1个的数字比它大,进行交换)插入排序的函数如下:
for x in range(0,n): for y in range(x+1,n): if q[x]<q[y]: t=q[x] q[x]=q[y] q[y]=t print q
选择排序的原理:每次在无序队列中“选择”出最小值,放到有序队列的最后,并从无序队列中去除该值(具体实现略有区别)。代码如下:
#升序 for i in range(0,n): min=i for j in range(i+1,n): if q[j]<q[min]: t=q[min] q[min]=q[j] q[j]=t print q
#降序 for i in range(0,n): max=i for j in range(i+1,n): if q[j]>q[max]: t=q[max] q[max]=q[j] q[j]=t print q
冒泡排序的原理:每次在无序队列里将相邻两个数依次进行比较,将小数调换到前面,逐次比较,直至将最大的数移到最后。最将剩下的N-1个数继续比较,将次大数移至倒数第二位。依此规律,直至比较结束。冒泡代码如下:
#冒泡 for i in range(n-1,0,-1): for j in range(0,i): if q[j]<q[j+1]: t=q[j] q[j]=q[j+1] q[j+1]=t print q
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- 插入排序
- 冒泡排序
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例