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

湖南省住房和城乡建设网站建一个网站需要做什么的

湖南省住房和城乡建设网站,建一个网站需要做什么的,网站开发学习路线,谷歌搜索引擎入口google1.冒泡排序 算法步骤 相邻的元素之间对比,每次早出最大值或最小值放到最后或前面,所以形象的称为冒泡。 特点 n个数排序则进行n轮,每轮比较n-i次。所以时间复杂度为O(n^2),空间复杂度为O(1),该排序算法稳定。 代码…

1.冒泡排序

算法步骤

相邻的元素之间对比,每次早出最大值或最小值放到最后或前面,所以形象的称为冒泡。

特点

n个数排序则进行n轮,每轮比较n-i次。所以时间复杂度为O(n^2),空间复杂度为O(1),该排序算法稳定。

代码模板

n = int(input())
a = list(map(int, input().split()))for i in range(1, n-1):for j in range(0, n - i):if a[j] > a[j + 1]:a[j], a[j + 1] = a[j + 1], a[j]print(' '.join(map(str, a)))

2.选择排序

算法步骤

从左往右找到最小元素,放在起始位置。依次找到第i个位置的元素。

特点

n个数排序有n个位置,每轮比较n-i次。所以时间复杂度为O(n^2),空间复杂度为O(1),该排序算法稳定。

代码模板

n = int(input())
a = list(map(int, input().split()))for i in range(0, n-1):min_val = a[i]min_id = ifor j in range(i, n):if a[j] < min_val:min_val = a[j]min_id = ja[i], a[min_id] = a[min_id], a[i]print(' '.join(map(str, a)))

3.插入排序

算法步骤

第一个元素看做已排序,从左往右遍历每一个元素。在已排序元素中从后往前扫描:如果当前元素大于新元素,则钙元素移动到后一位。
简单来说,对第i个元素从i向左到i-1找合适的位置插入。

特点

n个数排序则进行n轮插入,每轮比较i次。所以时间复杂度为O(n^2),空间复杂度为O(1),该排序算法不稳定。

代码模板

n = int(input())
a = list(map(int, input().split()))for i in range(1, n):value = a[i]insert_id = 0for j in range(i - 1, -1, -1):if a[j] > value:a[j + 1] = a[j]else:insert_id = j + 1breaka[insert_id] = valueprint(' '.join(map(str, a)))

4.快速排序

算法步骤

找一个基准值x,把列表分为三部分:小于等于x的数、x、大于x的数字。左部分和右部分递归使用该策略。

特点

时间复杂度为O(n log(n)),空间复杂度为O(n log(n)),该排序算法不稳定。

代码模板

def partition(a, left, right):id = left + 1for i in range(left + 1, right + 1):if a[i] <= a[left]:a[id], a[i] = a[i], a[id]id += 1a[left], a[id - 1] = a[id - 1], a[left]return id - 1def quicksort(a, left, right):if left < right:mid = partition(a, left, right)quicksort(a, left, mid - 1)quicksort(a, mid + 1, right)n = int(input())
a = list(map(int, input().split()))quicksort(a, 0 , n - 1)
print(' '.join(map(str, a)))

5.归并排序

算法步骤

先把数组分成两部分,每部分递归处理变成有序,将两个有序列表合并起来。

代码模板

n = int(input())
a = list(map(int, input().split()))def merge(A,B):result = []while len(A)!=0 and len(B)!=0:if A[0] <= B[0]:result.append(A.pop(0))else:result.append(B.pop(0))result.extend(A)result.extend(B)return resultdef mergesort(A):if len(A)<2:return Amid = len(A)//2left =mergesort(A[:mid])right = mergesort(A[mid:])return merge(left, right)print(' '.join(map(str, mergesort(a))))

6.桶排序

算法步骤

利用函数映射关系,将输入数据分到有限的桶里,然后每个通分别排序:
(1)初始化k个桶
(2)遍历数据,将数据放入到对应桶中
(3)每个桶单独排序
(4)各个桶的数据拼接起来

代码模板

在这里插入图片描述

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

相关文章:

  • 如何进行网站推广泰安千橙网站建设
  • 网站数据库配置浅析社区网站的建设
  • 邢台wap网站建设费用文化网站建设心得
  • 厦门中国建设银行招聘信息网站wordpress主题the
  • 12306网站建设超30亿wordpress伪静态配置文件
  • 呼和浩特网站设计公司便民网站开发
  • 大型集团网站建设网站轮换图片怎么做
  • 河北省建设中心网站网站建设与部署阿里云大学
  • 学做网站要学什么广州百度推广代理公司
  • 请人做网站需要多少钱企业网站建设一般要素包括哪些
  • 青岛市城市建设管理局网站花溪网站建设
  • 诚信网站认证怎么做什么网站可以做装修效果图
  • 网站建设可行性的分析陇南网站网站建设
  • phpcms 恢复网站沧州手机网站建设
  • 中国建设银行天津分行网站vue适合做门户网站吗
  • 关于加强门户网站建设的通知阳朔到桂林高铁
  • 网站做细分领域wordpress虚拟产品
  • 如何建设简单网站网站数据库如何导入数据库文件
  • 网站制作2019趋势提升学历英语翻译
  • 威海哪家网站做的好微信开放平台是做什么的
  • 网站建设与规划实验心得体会淘宝做导航网站
  • 网站开发技术语言的选择桐庐住房和城乡建设局 网站
  • 做暧昧免费视频大全网站公司设计网站多少钱
  • 国内知名域名注册网站高德地图无目的地导航
  • 正规的合肥网站建设价格响应式网站 图片尺寸奇数
  • 网站的会员认证怎么做网站开发工作总结论文
  • 惠州市跨境电子商务网站开发代理公司注册公司
  • 站点与网站有什么区别网站数据库是什么意思
  • 湛江做网站seo网站发布平台
  • 东莞长安 网站建设海宁营销型网站设计