1 算法描述

比较相邻的元素,如果前一个比后一个大,交换之。
第一趟排序第1个和第2个一对,比较与交换,随后第2个和第3个一对比较交换,这样直到倒数第2个和最后1个,将最大的数移动到最后一位。
第二趟将第二大的数移动至倒数第二位

因此需要n-1趟;

2 代码实现

def bobble_sort(li):# 外层循环for i in range(len(li) - 1):# print(li)for j in range(len(li) - i - 1):# 两相邻元素比较if li[j] > li[j + 1]:# 如果前面的元素大于后面的元素 就进行数据替换li[j], li[j + 1] = li[j + 1], li[j]

测试代码

li = [3, 2, 4, 7, 1, 2]
# 排序前
print(li)
# 执行排序
bobble_sort(li)
# 排序后
print(li)


动态

3 时间复杂度

python 冒泡排序 时间复杂度相关推荐

  1. python冒泡排序时间复杂度_Python算法中的时间复杂度问题

    在实现算法的时候,通常会从两方面考虑算法的复杂度,即时间复杂度和空间复杂度.顾名思义,时间复杂度用于度量算法的计算工作量,空间复杂度用于度量算法占用的内存空间. 本文将从时间复杂度的概念出发,结合实际 ...

  2. python冒泡排序函数_python冒泡排序-Python,冒泡排序

    arr = [ 7 , 4 , 3 , 67 , 34 , 1 , 8 ] . def bubble_sort : 最近在学习Python,下面是我的一些笔记 冒泡排序 实现思路: 使用双重for循环 ...

  3. python-Day5-深入正则表达式--冒泡排序-时间复杂度 --常用模块学习:自定义模块--random模块:随机验证码--time datetime模块...

    正则表达式 语法: mport re #导入模块名 p= re.compile("^[0-9]") #生成要匹配的正则对象 , ^代表从开头匹配,[0-9]代表匹配0至9的任意一个 ...

  4. python 冒泡排序及优化_Python冒泡排序及优化

    一.冒泡排序简介 冒泡排序(Bubble Sort)是一种常见的排序算法,相对来说比较简单. 冒泡排序重复地走访需要排序的元素列表,依次比较两个相邻的元素,如果顺序(如从大到小或从小到大)错误就交换它 ...

  5. python冒泡排序算法非递归_python 冒泡排序,递归

    今天LeetCode的时候暴力求解233 问题: 给定一个整数 n,计算所有小于等于 n 的非负数中数字1出现的个数. 例如: 给定 n = 13, 返回 6,因为数字1出现在下数中出现:1,10,1 ...

  6. python冒泡排序

    python 冒泡排序: data=[7,9,2,8,3,1,4,6,5]for i in range(len(data)): #数据长度len()就是for-in循环的次数; for j in ra ...

  7. 快速排序,冒泡排序时间复杂度推导

    快速排序,冒泡排序时间复杂度推导 快速排序时间复杂度分析: 数组长度为n 1,平均复杂度: t(n) = cn + 2t(n/2) = cn + 2(cn/2 + 2t(n/4)) = 2cn + 4 ...

  8. python字符串的冒泡排序_如何实现python冒泡排序算法?

    冒泡排序是一种简单的排序技术,它通过比较相邻的元素遍历整个列表,对它们进行排序并交换元素,直到对整个列表进行排序. 算法:给定一个包含n个元素的列表L,这些元素的值或记录为L0, L1,-,Ln-1, ...

  9. python冒泡排序原理_如何实现python冒泡排序算法?

    冒泡排序是一种简单的排序技术,它通过比较相邻的元素遍历整个列表,对它们进行排序并交换元素,直到对整个列表进行排序. 算法:给定一个包含n个元素的列表L,这些元素的值或记录为L0, L1,-,Ln-1, ...

最新文章

  1. Object-C 打开工程,选择模拟起时,提示no scheme
  2. 华为手机拍照后图库里无照片_华为图库中上千张照片,如何快速找到想要的照片?...
  3. 2018年第九届蓝桥杯 - 国赛 - C/C++大学B组 - B. 激光样式
  4. ccs 移植创建新工程_3D生物打印器官新突破,模拟肺与肝脏,未来可能实现定制人类器官...
  5. html5学习新的知识总结(一)
  6. springboot之数据校验及多环境切换
  7. hadoop fs –ls /hbase 无内容_Hadoop大数据实战系列文章之HDFS文件系统
  8. 是否应该提供一个dao.insertIgnoreNull ? (像updateIgnoreNull一样)
  9. 魅族17 Pro通过3C认证:魅族史上最强快充
  10. IDEA使用和实用小技巧
  11. 整理cin.getline与getline函数
  12. cocos2d- AtlasSprite AtlasSpriteManager
  13. 2017年IT类公司世界500强企业及其简评
  14. 微博无限私信技术软件_用手机制作剪辑视频的教程,手机视频剪辑软件还有哪些?...
  15. LAMP 技术简介(2)
  16. windowsserver2016安装
  17. 2023年软考考试时间及相关安排
  18. m3u8转MP4 视频最最有效的办法!!!!!!!
  19. dr/bdr选举的故事(有意思)
  20. Go全局唯一ID选型集合

热门文章

  1. VALSE 2020 线上大会简明日程发布(7月31日-8月5日)
  2. 语义分割未来发展如何?
  3. FaceShifter:北大微软新方法让换脸更惊艳
  4. 近期计算机视觉相关算法竞赛汇总—高额奖金等你来拿!
  5. CVPR 2020 | 中科院、商汤联合提出大规模多标签目标检测新算法
  6. Geoffrey Hinton大佬经典的《神经网络机器学习》,附PPT下载链接!
  7. 何恺明组又出神作!最新论文提出全景分割新方法
  8. 《Python编程从入门到实践》第9章类动手试一试答案(附代码)
  9. 数据结构(十二)动态规划
  10. 数据结构(五)堆排序