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

搬瓦工wordpress惠州seo管理

搬瓦工wordpress,惠州seo管理,江苏省建设厅网站建造师强制注销,17网站一起做网店后台文章目录 一,排序算法时间复杂度比较二,插入排序三,冒泡排序四,快速排序五,堆排序六,二分归并排序 一,排序算法时间复杂度比较 算法最坏情况下平均情况下插入排序O(n )O(n)冒泡排序O(n)O(n)快速…

文章目录

  • 一,排序算法时间复杂度比较
  • 二,插入排序
  • 三,冒泡排序
  • 四,快速排序
  • 五,堆排序
  • 六,二分归并排序

一,排序算法时间复杂度比较

算法最坏情况下平均情况下
插入排序O(n² )O(n²)
冒泡排序O(n²)O(n²)
快速排序O(n²)O(nlogn)
堆排序O(nlogn)O(nlogn)
二分归并排序O(nlogn)O(nlogn)

二,插入排序

假设原始序列为:[5,7,1,3,6,2,4]
首先假设第一个元素5已经排好,然后插入第二个元素7但是7比5大所以7放在5的右边,接着是第三个元素1,1比7小所以再7左边并且1比5小所以放在5的左边。第四个元素3于7比较比7小在7左边并且比5小所以在5左边但是3比1小所以插入到1和5之间,其他的类似。。。。

原始序列5713624
插入零次5713624
插入一次5713624
插入二次1573624
插入三次1357624
插入四次1356724
插入五次1235674
插入六次1234567
a = [5,7,1,3,6,2,4]
n = len(a)
for i in range(1, n):key = a[i]  # 当前待插入元素j = i - 1  # 已排序部分的最后一个元素的索引while j >= 0 and a[j] > key:a[j + 1] = a[j]  # 向后移动元素j -= 1a[j + 1] = key  # 插入元素到正确位置
print(a)
#[1, 2, 3, 4, 5, 6, 7]

三,冒泡排序

假设原始序列为:[5,7,1,3,6,2,4]
首先5和7比较,5比7小不交换顺序,7和1比较,7比1大交换顺序,7和3比较,7比3大交换顺序,7和6比较7比6大交换顺序,7和4比较,7比4大交换顺序。以此类推

原始序列5713624
冒泡一次5136247
冒泡二次1352467
冒泡三次1324567
冒泡四次1234567
a = [5,7,1,3,6,2,4]
n = len(a)
for i in range(n):for j in range(0, n-i-1):if a[j] > a[j+1]:a[j], a[j+1] = a[j+1], a[j]
print(a)
#[1, 2, 3, 4, 5, 6, 7]

四,快速排序

假设原始序列为:[5,7,1,3,6,2,4]
首先以第一个元素5为划分的标准,从前面找第一个比5大的从后面找第一个比5小的交换位置,然后再找下一个比大的和比5小的交换位置。第二次交换是发生在两个相邻的元素之间做的所以说2前面的都比5小,6后面的都比5大所以2的位置是第一个元素5的位置,然后交换2和5的位置,这样5的位置就定下来了,再分别对两边递归调用同样的方法。

原始序列5713624
交换一次5413627
交换二次5413267
划分2413567
递归运行2413567
a = [5,7,1,3,6,2,4]
def fast_sort(a):if len(a) <= 1:return abasis = a[0]left_num  = [i for i in a[1::] if i < basis]middle    = [i for i in a     if i == basis]right_num = [i for i in a[1::] if i > basis]return fast_sort(left_num) + middle + fast_sort(right_num)
print(fast_sort(a))
#[1, 2, 3, 4, 5, 6, 7]

五,堆排序

pass

六,二分归并排序

它将待排序的列表递归地分成两个子列表,直到每个子列表只包含一个元素。然后,将这些子列表按照顺序合并,形成一个有序的列表。
假设原始序列为:[5,7,1,3,6,2,4]
首先先把序列一份为二 (标注和没标注的),然后对每个子列里面也分别进行二分归并排序,然后把已经排好的子数合并(两个序列的首元素比较哪个小就把哪个拿走,知道一个数组空了就把另一个数组全部接在后面)。

原始序列5713624
归分5413627
递归排序1345267
开始组合1345267
345267
新数组1
34567
新数组12
4567
新数组123
567
新数组1234
67
新数组12345
新数组1234567
a = [5, 7, 1, 3, 6, 2, 4]def merge_sort(arr):if len(arr) <= 1:return arrmid = len(arr) // 2left = arr[:mid]right = arr[mid:]left = merge_sort(left)right = merge_sort(right)return merge(left, right)def merge(left, right):merged = []i = j = 0while i < len(left) and j < len(right):if left[i] <= right[j]:merged.append(left[i])i += 1else:merged.append(right[j])j += 1while i < len(left):merged.append(left[i])i += 1while j < len(right):merged.append(right[j])j += 1return mergedprint(merge_sort(a))
http://www.khdw.cn/news/69124.html

相关文章:

  • 做报名网站商丘seo公司
  • 知雅汇网页设计实训报告搜索引擎优化seo是什么
  • 外贸建站主机网络营销推广方式包括
  • 12306网站 谁做的百度官方推广平台
  • 把开发的网站让外网能访问要怎么做长沙做网络推广公司的
  • 做网站怎样做厦门人才网
  • 网站后台培训seo是什么岗位
  • 网站开发工程师是什么内容网站建设方案书模板
  • 域名网站可以做多个品牌产品吗百度竞价恶意点击软件
  • 网站建设自助建站美国疫情最新情况
  • 建设网站如何挂到网上网络营销有什么岗位
  • aspx网站跳转代码南京seo排名
  • 网站开发待遇好吗深圳网络营销推广公司
  • 国外的旅游网站做的如何中国十大热门网站排名
  • 电子商务网站管理内容病毒式营销案例
  • 东莞连衣裙 东莞网站建设外贸营销型网站设计
  • 汉中建设工程招投标网百度seo简爱
  • 中小学学校网站建设网站seo检测
  • 做品牌折扣的网站写软文怎么接单子
  • 建设公司网站要注意什么加拿大搜索引擎
  • 帮人做网站的推广什么是网络营销与直播电商
  • 自己电脑做电影网站吗百度关键字优化
  • 数据做图网站有哪些内容小吃培训2000元学6项
  • 乡村文化建设网站栏目设置好看的seo网站
  • 武汉个人做网站网站关键词优化软件效果
  • 服务器网站模板广州网站建设推荐
  • 青岛 制作网站 大点的公司第三方网络营销平台有哪些
  • 什么网站可以做饼图百度在西安有分公司吗
  • 广告设计公司实习日志seo网站推广优化
  • 做网站是怎么回事网络营销方案有哪些