当前位置: 首页 > wzjs >正文

cms代码做网站深圳网站优化排名

cms代码做网站,深圳网站优化排名,绵阳做网站,贵阳花溪建设村镇银行官方网站一、介绍 「冒泡排序bubblesort」通过连续地比较与交换相邻元素实现排序。这个过程就像气泡从底部升到顶部一样,因此得名冒泡排序。 冒泡过程可以利用元素交换操作来模拟:从数组最左端开始向右遍历,依次比较相邻元素大小,如果“左…

 一、介绍

「冒泡排序bubblesort」通过连续地比较与交换相邻元素实现排序。这个过程就像气泡从底部升到顶部一样,因此得名冒泡排序。
冒泡过程可以利用元素交换操作来模拟:从数组最左端开始向右遍历,依次比较相邻元素大小,如果“左元素>右元素”就交换它俩。遍历完成后,最大的元素会被移动到数组的最右端。

二、算法流程

设数组的长度为𝑛,冒泡排序的步骤如下图所示。

1. 首先,对𝑛个元素执行“冒泡”,将数组的最大元素交换至正确位置,

2. 接下来,对剩余𝑛−1个元素执行“冒泡”,将第二大元素交换至正确位置。

3. 以此类推,经过𝑛−1轮“冒泡”后,前𝑛−1大的元素都被交换至正确位置。

4. 仅剩的一个元素必定是最小元素,无须排序,因此数组排序完成。

三、代码

def bubble_sort(nums: list[int]):""" 冒泡排序"""n = len(nums)# 外循环:未排序区间为 [0, i]for i in range(n- 1, 0, -1):flag = False  # 初始化标志位# 内循环:将未排序区间 [0, i] 中的最大元素交换至该区间的最右端for j in range(i):if nums[j] > nums[j + 1]:# 交换 nums[j] 与 nums[j + 1]nums[j], nums[j + 1] = nums[j + 1], nums[j]flag = True  # 记录交换元素if not flag:  # 未发生交换,提前退出breaknums = [5, 2, 4, 6, 1, 3]
bubble_sort(nums)
print(nums)

四、算法特性

时间复杂度为𝑂(n^{2})、自适应排序:各轮“冒泡”遍历的数组长度依次为𝑛−1、𝑛−2、…、2、1,总和为(𝑛−1)𝑛/2。在引入flag 优化后,最佳时间复杂度可达到𝑂(𝑛)。
空间复杂度为𝑂(1)、原地排序:指针𝑖和𝑗使用常数大小的额外空间。
稳定排序:由于在“冒泡”中遇到相等元素不交换。

http://www.dtcms.com/wzjs/495085.html

相关文章:

  • 2个女人做暧暧网站推广公众号的9种方法
  • 聊城做网站济南百度推广代理商
  • 做网站需要的技术成品视频直播软件推荐哪个好一点
  • 重庆做网站建设公司哪家好百度升级最新版本
  • 西安哪家网站建设好网络推广的渠道
  • 建设企业网站所遵循的一般原则网站首页的优化
  • 使用net域名的大网站竞价排名深度解析
  • 制作公司网站要多少费用呢流量推广app
  • 建设银行人才招聘网站打开百度首页
  • 南山网站建设公司竞价排名适合百度吗
  • asp.net个人网站怎么做凡科建站网站
  • 美团推广平台百度优化教程
  • 中英文网站多少钱怎么做网址
  • 建设项目一次公示网站优质网站
  • wordpress教程pdf手机清理优化软件排名
  • 平谷网站建设服务搜索软件
  • 青海网站 建设优化推广方案
  • 深圳flash网站建设百度服务平台
  • 国外服务器推荐前端seo搜索引擎优化
  • 品牌企业网站建设公司价格免费seo诊断
  • 桂林旅游自由行攻略网站seo优化包括哪些方面
  • 织梦下载网站模板松松软文
  • 商城网站 不易优化推广方式有哪几种
  • 做瑜伽网站常德网站优化公司
  • 建设银行网站能买手机专业网店推广
  • 网站怎么做才被收录快河南企业网站建设
  • h5在线制作免费版国内seo做最好的公司
  • 企业站seogoogle推广怎么做
  • 义乌建设局网站学做电商需要多少钱
  • 怎么制作新闻网站站长工具seo优化