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

做网站放哪个科目成都seo优化公司排名

做网站放哪个科目,成都seo优化公司排名,高大上的平面设计网站,自己做视频网站怎么处理高并发冒泡排序: 冒泡排序(Bubble Sort)是一种简单的排序算法。它通过比较相邻元素的大小,并交换它们的位置,使较大(或较小)的元素逐渐“浮”到数组的一端,从而实现排序的目的。 下面是冒…

冒泡排序:

冒泡排序(Bubble Sort)是一种简单的排序算法。它通过比较相邻元素的大小,并交换它们的位置,使较大(或较小)的元素逐渐“浮”到数组的一端,从而实现排序的目的。

下面是冒泡排序的基本步骤:

  1. 首先,从数组的第一个元素开始,依次比较相邻的两个元素。将较大(或较小)的元素交换到右侧,这样一次遍历之后,最大(或最小)的元素就会“浮”到数组的末尾。

  2. 接下来,继续进行第一步的操作,但这次只需要遍历数组的前 n-1 个元素,其中 n 是数组的长度。这样一次遍历之后,第二大(或第二小)的元素会“浮”到数组的倒数第二个位置。

  3. 重复上述步骤,每次遍历的元素个数减少一,直到只剩下一个元素为止。

  4. 最后,经过多次遍历之后,数组中的元素就会按照从小到大(或从大到小)的顺序排列。

下面是一个示例,演示冒泡排序的过程:

假设我们有以下数组:[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[j+1]:li[j], li[j+1] = li[j+1], li[j]return li

该算法的时间复杂度为O(n^2),同时为了减小计算时间有优化后的冒泡排序:

def Bubble_sort(li):exchange=Truefor i in range(len(li) - 1):for j in range(0, len(li) - i - 1):if li[j] > li[j+1]:li[j], li[j+1] = li[j+1], li[j]exchange=Trueif not exchange:return True

插入排序:

插入排序(Insertion Sort)是一种简单直观的排序算法,它的原理是逐步构建有序序列。插入排序的过程类似于打扑克牌时整理手中的牌。

下面是插入排序的基本步骤:

  1. 假设我们有一个无序的数组,将该数组分为两个部分:已排序部分和未排序部分。初始时,已排序部分只包含数组的第一个元素,而未排序部分包含剩余的元素。

  2. 从未排序部分取出第一个元素,将其与已排序部分的元素逐个比较。将该元素插入到已排序部分的正确位置,使得插入后的已排序部分仍然保持有序。

  3. 重复上述步骤,直到未排序部分的所有元素都被插入到已排序部分中。

下面是一个示例,演示插入排序的过程:

假设我们有以下数组:[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)):j=i-1tmp=li[i]while li[j]>tmp and j>=0:li[j+1]=li[j]j-=1    li[j+1]=tmp             return li    

选择排序:

选择排序(Selection Sort)是一种简单直观的排序算法。它的原理是在未排序部分中选择最小(或最大)的元素,并将其放置在已排序部分的末尾。选择排序的过程类似于在一组元素中不断选择最值的操作。

下面是选择排序的基本步骤:

  1. 假设我们有一个无序的数组,将该数组分为两个部分:已排序部分和未排序部分。初始时,已排序部分为空,而未排序部分包含所有的元素。

  2. 在未排序部分中找到最小(或最大)的元素,将其与未排序部分的第一个元素交换位置。这样,最小(或最大)的元素就被放置在已排序部分的末尾。

  3. 重复上述步骤,每次从未排序部分选择一个最小(或最大)的元素,并将其放置在已排序部分的末尾。

  4. 当未排序部分为空时,排序完成。

下面是一个示例,演示选择排序的过程:

假设我们有以下数组:[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);min=ifor j in range(i+1,len(li));if li[j]<li[min]:min=jli[i],li[min]=;i[min],li[i]

http://www.ds6.com.cn/news/54851.html

相关文章:

  • 小广告怎么能弄干净seo的优化方向
  • 网站设计心的网购平台推广方案
  • 网站开发的私活大型网站建设平台
  • 网站建设 万网培训学校
  • 个人网页设计的主要内容和要求seo站内优化教程
  • 网站哪家公司做的阿里云免费域名
  • 网页游戏网站斗地主朋友圈软文
  • 网站规划的要素不包括江苏建站
  • 做网站运营跟专业有关吗关键词优化怎么写
  • 做自动发卡密网站的教程网络营销方案
  • 舜元建设 集团 有限公司网站国际新闻头条今日国际大事
  • 学生做防溺水题的网站网站推广途径和推广要点
  • 做网站的经历感想怎么给公司做网站
  • 公司办公网络建设方案云南网络营销seo
  • 关键词优化的策略有哪些直通车关键词优化
  • 世界上让导航崩溃的城市长春网站seo
  • 如何做网站的注册页面最近一周新闻
  • 找施工队伍去什么网站网站推广怎么推广
  • 安监网站安全建设信息可以投放广告的网站
  • 个人网站运营怎么做网络营销案例分析ppt
  • 成都网站设计开发公司今天济南刚刚发生的新闻
  • 类似freenom的免费域名网站竞价排名的定义
  • 上海建筑设计院工资百度seo排名软
  • 整站优化包年用html制作淘宝网页
  • 网站建设推广文案聚名网域名注册
  • 域名设计与分析seo是什么?
  • 互动类网站读书网站排名
  • 用来做问卷调查的网站百度seo刷排名软件
  • 毕业设计网页制作咖啡网站图片线下营销推广方式有哪些
  • 平凉网站设计怎么做百度推广运营