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

谁有qq网站开发资源群廊坊seo排名公司

谁有qq网站开发资源群,廊坊seo排名公司,大连网站制作公司费用多少,卡二卡三卡四卡在线冒泡排序#xff1a; 冒泡排序#xff08;Bubble Sort#xff09;是一种简单的排序算法。它通过比较相邻元素的大小#xff0c;并交换它们的位置#xff0c;使较大#xff08;或较小#xff09;的元素逐渐“浮”到数组的一端#xff0c;从而实现排序的目的。 下面是冒…冒泡排序 冒泡排序Bubble Sort是一种简单的排序算法。它通过比较相邻元素的大小并交换它们的位置使较大或较小的元素逐渐“浮”到数组的一端从而实现排序的目的。 下面是冒泡排序的基本步骤 首先从数组的第一个元素开始依次比较相邻的两个元素。将较大或较小的元素交换到右侧这样一次遍历之后最大或最小的元素就会“浮”到数组的末尾。 接下来继续进行第一步的操作但这次只需要遍历数组的前 n-1 个元素其中 n 是数组的长度。这样一次遍历之后第二大或第二小的元素会“浮”到数组的倒数第二个位置。 重复上述步骤每次遍历的元素个数减少一直到只剩下一个元素为止。 最后经过多次遍历之后数组中的元素就会按照从小到大或从大到小的顺序排列。 下面是一个示例演示冒泡排序的过程 假设我们有以下数组[5, 3, 8, 2, 1] 第一次遍历 比较 5 和 3交换位置数组变为 [3, 5, 8, 2, 1]比较 5 和 8位置不变比较 8 和 2交换位置数组变为 [3, 5, 2, 8, 1]比较 8 和 1交换位置数组变为 [3, 5, 2, 1, 8] 第二次遍历 比较 3 和 5位置不变比较 5 和 2交换位置数组变为 [3, 2, 5, 1, 8]比较 5 和 1交换位置数组变为 [3, 2, 1, 5, 8] 第三次遍历 比较 3 和 2交换位置数组变为 [2, 3, 1, 5, 8]比较 3 和 1交换位置数组变为 [2, 1, 3, 5, 8] 第四次遍历 比较 2 和 1交换位置数组变为 [1, 2, 3, 5, 8] 经过四次遍历之后数组就变为有序的[1, 2, 3, 5, 8]。 冒泡排序的时间复杂度为 O(n^2)其中 n 是数组的长度。尽管冒泡排序在大规模数据集上的效率相对较低但它是一种简单且容易理解的排序算法。 代码实现 def Bubble_sort(li):for i in range(len(li) - 1):for j in range(0, len(li) - i - 1):if li[j] li[j1]:li[j], li[j1] li[j1], li[j]return li 该算法的时间复杂度为O(n^2),同时为了减小计算时间有优化后的冒泡排序 def Bubble_sort(li):exchangeTruefor i in range(len(li) - 1):for j in range(0, len(li) - i - 1):if li[j] li[j1]:li[j], li[j1] li[j1], li[j]exchangeTrueif not exchange:return True 插入排序 插入排序Insertion Sort是一种简单直观的排序算法它的原理是逐步构建有序序列。插入排序的过程类似于打扑克牌时整理手中的牌。 下面是插入排序的基本步骤 假设我们有一个无序的数组将该数组分为两个部分已排序部分和未排序部分。初始时已排序部分只包含数组的第一个元素而未排序部分包含剩余的元素。 从未排序部分取出第一个元素将其与已排序部分的元素逐个比较。将该元素插入到已排序部分的正确位置使得插入后的已排序部分仍然保持有序。 重复上述步骤直到未排序部分的所有元素都被插入到已排序部分中。 下面是一个示例演示插入排序的过程 假设我们有以下数组[5, 3, 8, 2, 1] 第一次遍历 取出未排序部分的第一个元素 3将其与已排序部分的元素 5 比较。由于 3 小于 5将 3 插入到 5 之前已排序部分变为 [3, 5]。数组变为 [3, 5, 8, 2, 1] 第二次遍历 取出未排序部分的第一个元素 8将其与已排序部分的元素逐个比较。由于 8 大于 5不需要进行插入操作。数组保持不变[3, 5, 8, 2, 1] 第三次遍历 取出未排序部分的第一个元素 2将其与已排序部分的元素逐个比较。由于 2 小于 8需要将 2 插入到 8 之前已排序部分变为 [3, 5, 2, 8]。数组变为 [3, 5, 2, 8, 1] 第四次遍历 取出未排序部分的第一个元素 1将其与已排序部分的元素逐个比较。由于 1 小于 8需要将 1 插入到 8 之前已排序部分变为 [3, 5, 2, 1, 8]。数组变为 [3, 5, 2, 1, 8] 经过四次遍历之后数组就变为有序的[1, 2, 3, 5, 8]。 插入排序的时间复杂度为 O(n^2)其中 n 是数组的长度。尽管插入排序的性能在大规模数据集上比其他高级排序算法略逊一筹但在小型或部分有序的数组上插入排序的效率较高并且它的实现较为简单 代码 def Insert_sort(li):for i in range(1,len(li)):ji-1tmpli[i]while li[j]tmp and j0:li[j1]li[j]j-1 li[j1]tmp return li 选择排序 选择排序Selection Sort是一种简单直观的排序算法。它的原理是在未排序部分中选择最小或最大的元素并将其放置在已排序部分的末尾。选择排序的过程类似于在一组元素中不断选择最值的操作。 下面是选择排序的基本步骤 假设我们有一个无序的数组将该数组分为两个部分已排序部分和未排序部分。初始时已排序部分为空而未排序部分包含所有的元素。 在未排序部分中找到最小或最大的元素将其与未排序部分的第一个元素交换位置。这样最小或最大的元素就被放置在已排序部分的末尾。 重复上述步骤每次从未排序部分选择一个最小或最大的元素并将其放置在已排序部分的末尾。 当未排序部分为空时排序完成。 下面是一个示例演示选择排序的过程 假设我们有以下数组[5, 3, 8, 2, 1] 第一次遍历 在未排序部分中找到最小的元素 1将其与未排序部分的第一个元素 5 交换位置。已排序部分变为 [1]未排序部分变为 [5, 3, 8, 2]。数组变为 [1, 3, 8, 2, 5] 第二次遍历 在未排序部分中找到最小的元素 2将其与未排序部分的第一个元素 3 交换位置。已排序部分变为 [1, 2]未排序部分变为 [3, 8, 5]。数组变为 [1, 2, 8, 3, 5] 第三次遍历 在未排序部分中找到最小的元素 3将其与未排序部分的第一个元素 8 交换位置。已排序部分变为 [1, 2, 3]未排序部分变为 [8, 5]。数组变为 [1, 2, 3, 8, 5] 第四次遍历 在未排序部分中找到最小的元素 5将其与未排序部分的第一个元素 8 交换位置。已排序部分变为 [1, 2, 3, 5]未排序部分变为 [8]。数组变为 [1, 2, 3, 5, 8] 经过四次遍历之后数组就变为有序的[1, 2, 3, 5, 8]。 选择排序的时间复杂度为 O(n^2)其中 n 是数组的长度。尽管选择排序的性能在大规模数据集上不如其他高级排序算法但它是一种简单且容易实现的排序算法。 代码 def select_sort(li):for i in range(len(li)-1)minifor j in range(i1,len(li))if li[j]li[min]:minjli[i],li[min];i[min],li[i]
http://www.dnsts.com.cn/news/69112.html

相关文章:

  • 百度排名 网站标题网站制作 昆明
  • 手机网站开发人员工具wordpress接口密码
  • 济南网站优化公司排名网站被k
  • 济源建网站简单网站搭建
  • 网站开发平台开发公司租号网站建设贴吧
  • iis能建设网站吗wordpress08影视
  • 给网站做seo的必要性有没有专门做宝宝用品的网站
  • 沈阳康平志诚建设集团网站创新网站建设
  • 中国建设银行网站是什么上海网页制作步骤
  • 广州网站建设哪家技术好wordpress分类页面添加幻灯片
  • 网站做收录要多少长时间个人网站花多少钱
  • 网站维护升级装修设计师培训班
  • 网站架构模式用哪种优秀交互设计app欣赏
  • wordpress快速仿站教程给企业做网站前景
  • thinkphp手机网站模板学设计哪个网站好
  • 漳浦网站制作刚刚发生了什么大事
  • 住房城乡建设部招投标网站网站开发技术路线与规范
  • 网站开发和程序员阿里云cdn wordpress错位
  • 个人网站 后台管理网站建站时间
  • 可以做推广的网站有哪些广之旅自由通卡特约商家
  • 小说网站建立在线crm什么软件好
  • 云南城市建设职业学院成绩查询网站wordpress 精美主题
  • 武威 网站开发犀牛云网站建设费用
  • 西安网站建设工作室ai logo设计网站
  • 公司注销后 网站备案吗商品展示网站源码
  • 电商网站推广常见问题什么是软件开发
  • 塘沽做网站的公司贵州企业网站
  • 建设部网站监理公告wordpress 替代 php
  • wordpress做的网站效果6云游戏网页版
  • 做logo好的网站东莞网站优化多少钱