冒泡排序法:

  • 冒泡排序存在所谓的“乌龟问题”,假设我们需要将序列按照升序排序。
  • 序列中的较小的数字又大量存在于序列的尾部,这样会让小数字在向前移动得很缓慢,
  • 因此针对这一问题,产生了双向冒泡排序法,也称鸡尾酒排序法。

双向冒泡排序法:

  • 由两个方向同时进行冒泡:
  • 首先由左向右为大元素移动方向,从右向左为小元素移动方向,然后每个元素都依次执行。
  • 在第i次移动后,前i个和后i个元素都放到了正确的位置。
from swax_function import swaxdef bidirectionalbubble_sort(x):j = 0while j <= len(x)//2:flag = Falsefor i in range(j ,len(x) - j - 1):if x[i]>x[i+1]:swax(x,i,i+1)flag=Truefor i in range(len(x)- 1 - j,j,-1):if x[i]<x[i-1]:swax(x,i,i-1)flag=True    if not flag:return xj += 1return x

【python】双向冒泡排序相关推荐

  1. python代码实现鸡尾酒排序(双向冒泡排序)

    python代码实现鸡尾酒排序(双向冒泡排序) 鸡尾酒排序是冒泡排序的一种变形.它与冒泡排序的不同之处在于排序时是以双向在序列中进行排序. 鸡尾酒排序的原理跟冒泡排序差不多,只不过冒泡排序每一轮的比较 ...

  2. 【算法-0】排序算法-双向冒泡排序(也称鸡尾酒排序、搅拌排序),附python代码+注释

    概述 从名字就可以看出来,是双向的冒泡排序. 冒泡排序,每次都是从左往右,交换相邻的元素,从而达到循环一边可以把最大的元素放在右边. 而双向冒泡排序,在完成一次从左往右的冒泡排序后,再从右往左进行冒泡 ...

  3. python实现冒泡排序完整算法_Python实现冒泡排序算法的完整实例

    冒泡排序:顾名思义就是(较小的值)像泡泡一样往上冒,(大的值)往下沉. 实现原理:依次将相邻两个数值进行比较,较小的数值移到左边,较大的数值移到右边,依次比较完第一轮后,最大的数值应该排在最右边.然后 ...

  4. python实现冒泡排序视频_Python实现冒泡排序算法的完整实例

    冒泡排序:顾名思义就是(较小的值)像泡泡一样往上冒,(大的值)往下沉. 实现原理:依次将相邻两个数值进行比较,较小的数值移到左边,较大的数值移到右边,依次比较完第一轮后,最大的数值应该排在最右边.然后 ...

  5. 4001.基于双向链表的双向冒泡排序法

    基于双向链表的双向冒泡排序法 发布时间: 2018年11月26日 10:09   时间限制: 1000ms   内存限制: 128M 习题集源码中出现了 temp->next->prior ...

  6. 4023-基于双向链表的双向冒泡排序法

    描述 有n个记录存储在带头结点的双向链表中,利用双向冒泡排序法对其按上升序进行排序,请写出这种排序的算法.(注:双向冒泡排序即相邻两趟排序向相反方向冒泡). 输入 多组数据,每组数据两行.第一行为序列 ...

  7. python实现冒泡排序视频_Python实现冒泡排序

    图文教程 上次,我们学习了Python中的循环.今天,我们做一个关于循环的练习,来加深大家的学习成果. 这个练习叫什么呢?我们就用Python实现冒泡排序 冒泡排序 要学习冒泡排序必须知道它的原理: ...

  8. python与冒泡排序

    上一篇文章,介绍了一个非常快的排序算法--桶排序,但是它的缺点就是太耗资源了,这次要实现的算法就不用太耗资源了,它就是冒泡排序. 问题提出: 将以下数据升序排列:9, 2, 8, 6, 4 冒泡排序原 ...

  9. Python实现冒泡排序的代码

    以下是Python实现冒泡排序的代码: 格式有点问题,重新调整一下,如下: def bubbleSort(nums):# 设置一个flag,用来判断某次循环是否发生了交换flag = Truefor ...

最新文章

  1. N4 接口解耦的可行性试验
  2. python给图片添加字符
  3. 不要让中国孩子买的玩具都变成外国货!
  4. ARM 内核移植中常见的错误
  5. C#中WinForm程序退出方法技巧总结
  6. java -XX:+PrintFlagsInitial该命令可以查看所有JVM参数启动的初始值
  7. 神经网络 卷积神经网络_如何愚弄神经网络?
  8. Bash游戏 V2(51Nod-1067)
  9. Salesforce 超越 Oracle:四十年的甲骨文和二十岁的SaaS之王
  10. ORACLE SEQUENCE用法 (自增长)
  11. 一个古老的漏洞username map script,翻出来说说
  12. python hash表_python数据结构与算法——哈希表
  13. Mac和windows哪个好
  14. java什么是自动类型转换_java自动类型转换
  15. 浅谈未来计算机操作系统的发展方向,浅谈未来计算机操作系统的发展方向
  16. 缓存架构技术:开课吧java高级架构师第七期笔记
  17. C++之父谈C++语言设计规则
  18. Nvidia AGX Xavier Jetson 开机配置
  19. LightGBM模型简单预测股票涨跌情况
  20. SpringBoot启动时:Process finished with exit code 0解决办法

热门文章

  1. dede建站mysql_【CMS系统建站】dedecms如何访问后台
  2. dw中HTML编写五子棋游戏,c语言写的鼠标操作的五子棋游戏,欢迎观赏!
  3. 查看一个归档或压缩文件的内容而无需解压它
  4. 全球与中国高压高温金刚石市场产业运行形势分析及前景趋势预测报告2022-2028年
  5. Java标准库学习小结
  6. 【HDFS】Observer Namenode开启in-progress tail之后导致误删除in-progress状态的editlog问题
  7. 被侵蚀的深度思考能力
  8. 推荐7个好用的Python效率工具,拿走不谢
  9. Linux下实现Freertos模拟器
  10. 第一单元:连续时间信号与离散时间信号