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

怎么做网站的关键词红河优才网站建设

怎么做网站的关键词,红河优才网站建设,做音频后期的素材网站,高端建站收费10大排序算法--python 一颗星--选择排序一颗星--冒泡排序一颗星--插入排序两颗星--归并排序#xff08;递归-难#xff09;三颗星--桶排序三颗星--计数排序四颗星--基数排序四颗星--快速排序#xff0c;寻找标志位#xff08;递归-难#xff09;四颗星--又是比较难的希尔排… 10大排序算法--python 一颗星--选择排序一颗星--冒泡排序一颗星--插入排序两颗星--归并排序递归-难三颗星--桶排序三颗星--计数排序四颗星--基数排序四颗星--快速排序寻找标志位递归-难四颗星--又是比较难的希尔排序五颗星--堆排序 谁教你这么剪的 | 11大排序的原理讲解和Python源码剖析_哔哩哔哩_bilibili 一颗星–选择排序 自己看代码都能看懂 def xuanze_paixu(bb): nlen(bb) for i in range(n-1): # 优化代码 mini for j in range(i1,n): if bb[i] bb[j]: # 优化代码 minj bb[i], bb[min] bb[min], bb[i] # bb[i],bb[j]bb[j],bb[i] return bb a[0,4,0,9,2,8,4,0,1,8] cxuanzhe_paixu(a) print(c)一颗星–冒泡排序 自己看代码都能看懂 def maopao_paixu(bb): nlen(bb) # 左闭右开且递减 for i in range(n-1,-1,-1): for j in range(0,i): if bb[j]bb[j1]: bb[j],bb[j1] bb[j1],bb[j] return bb a[7,3,9,8,7,4,9,4,2,4,1,8,7,4,9,1,8,4,7,9] resultmaopao_paixu(a) print(result)一颗星–插入排序 def charu_paixu(bb): nlen(bb) for i in range(1,n): xbb[i] ji-1 # 用j的话比较清除 while j0: if x bb[j]: bb[j1]bb[j] else: break bb[j]x j j - 1 return bb a[7,3,9,8,7,4,9,4,2,4,1] bcharu_paixu (a) print(b)两颗星–归并排序递归-难 直接给我cpu干蒙了 视频解释 排序算法归并排序【图解代码】_哔哩哔哩_bilibili 代码如下有两种多参考参考 def merge(a, start, mind, end): l start bb [] right mind 1 while l mind and right end: if a[l] a[right]: bb.append(a[l]) l 1 else: bb.append(a[right]) right 1 bb.extend(a[l:mind1]) bb.extend(a[right:end1]) for j in range(start, end1): a[j] bb[j - start] print(start, end, bb) def divide(a, start, end): if start end: return mind (start end) // 2 divide(a, start, mind) divide(a, mind1, end) merge(a, start, mind, end) a [7, 3, 9, 8, 7] divide(a, 0, 4) # 第二种 # 因为在Python中列表是可变的数据类型也就是说当你传递一个列表到一个函数中时你实际上是传递了这个列表的引用而不是它的副本。这意味着如果你在函数中修改了这个列表那么这个改变将会影响到原始的列表。 def merge_sort(arr, start, end): if start end: return mid (start end) // 2 merge_sort (arr, start, mid) merge_sort (arr, mid 1, end) merge (arr, start, mid, end) def merge(arr, start, mid, end): left arr[start:mid 1] right arr[mid 1:end 1] i j 0 k start while i len (left) and j len (right): if left[i] right[j]: arr[k] left[i] i 1 else: arr[k] right[j] j 1 k 1 while i len (left): arr[k] left[i] i 1 k 1 while j len (right): arr[k] right[j] j 1 k 1 a [6, 1, 4, 1, 7] merge_sort (a, 0, len (a) - 1) print (a)值得好好研究和阅读比较像递归和分治 三颗星–桶排序 这个还是比较好理解的 from xuanzhe_paixu import xuanzhe_paixu as slect def tong_paixu(a): Minmin(a) Maxmax(a) bucket_len(Max-Min)//31 #将计算长度的线段分出来算出每个桶的长度 bucket [[] for _ in range(3)] for sum in a: bucket[(sum-Min)//bucket_len].append(sum) # 相减能够计算线段相除能够计算几倍桶长度 bb[] for arry in bucket: resultslect(arry) print(result) for i in result: bb.append(i) return bb b[6,4,7,1,8,6,4,8,7] dtong_paixu(b) print(d)三颗星–计数排序 def jisu_paixu(arry): Maxmax(arry)1 b[0]*Max a[] for each in arry: b[each]1 for index,i in enumerate(b): if i!0: for j in range(i): a.append(index) print(a) d[7,6,4,7,4,5,1,8,5,7,4,3,9,5,7,2,9,8,5,7,9,2,8,5,77,43,9] jisu_paixu(d) # 第二种 def jisu_paixu1(arry): Max max (arry) 1 b [0] * Max for each in arry: b[each]1 print(b) c[] for index in range(Max): while b[index] 0: c.append(index) b[index]-1 return c d[7,6,4,7,4,5,1,8,5,7,4,3,9,5,7,2,9,8,5,7,9,2,8,5,77,43,9] resultjisu_paixu1(d) print(result)四颗星–基数排序 就是将得到的列表通过迭代实现每次少一个数将最后一个数按数字放入对应的桶中需要创建一个二维列表,和清空一个二维列表,这个很重要 a [[] for _ in range (10)] for i in range (10): a.append ([]) def jisu_paixu(arry): a[] Maxmax(arry) base1 for i in range (10): a.append ([]) while baseMax: n0 for each in arry: a[each//base%10].append(each) print(a) for list1 in a: for i in list1: arry[n]i n1 print(arry) base*10 a [[] for _ in range (10)] b[3,214,1,24,13] jisu_paixu(b)四颗星–快速排序寻找标志位递归-难 def kuaisu_paixu(a,start,end): if startend: return flagstart binaliangstart1 for i in range(start1,end): if a[flag]a[i]: a[i],a[binaliang]a[binaliang],a[i] binaliang1 a[flag],a[binaliang-1]a[binaliang-1],a[flag] flagbinaliang-1 print(a[flag],a[start:flag],a[flag1:end]) kuaisu_paixu(a,start,flag) kuaisu_paixu(a,flag1,end) a[4,6,5,3,6,5,3,6,7,7,3,2,4,9,8,4,8,9,2,4,8,9,3,1,3,9] kuaisu_paixu(a,0,len(a)) print(a) # 第二种办法 import random def kuaisu_paixu(a,start,end): # random_indexrandom.randint(start,end-1) # a[start],a[random_index]a[random_index],a[start] # 这个是用来随机快速排序的 flagstart binaliangstart1 for i in range(start1,end): if a[flag]a[i]: a[i],a[binaliang]a[binaliang],a[i] binaliang1 a[flag],a[binaliang-1]a[binaliang-1],a[flag] flagbinaliang-1 print(a[flag],a[start:flag],a[flag1:end]) return flag def paixu(a,start,end): if startend: return flagkuaisu_paixu(a,start,end) paixu(a,start,flag) paixu(a,flag1,end) a[4,6,5,3,6,5,3,6,7,7,3,2,4,9,8,4,8,9,2,4,8,9,3,1,3,9] paixu(a,0,len(a)) print(a)四颗星–又是比较难的希尔排序 这里面有两种方式一个是切片排序一个是从头排序 还有希尔排序就是特殊的插入排序一定要多了解了解加理解 # 希尔排序就是特殊的插入排序间隔不在是1而是gap和cha def xier_paixu(a): nlen(a) gapn//2 while gap0: for i in range(gap,n): ji while jgap: if a[j]a[j-gap]: a[j],a[j-gap]a[j-gap],a[j] else: break j-gap gapgap//2 a [4, 7, 1, 9, 8, 4, 7, 9, 8, 1, 2, 7, 4, 9, 8, 1, 2, 4, 7, 1, 9, 84] xier_paixu(a) print(a) # 第二种 def xier_paixu1(alist, start, end): n end - start cha n // 2 while cha 0: for i in range(cha start, end): j i while j startcha: if alist[j] alist[j - cha]: alist[j], alist[j - cha] alist[j - cha], alist[j] else: break j - cha cha // 2 return alist a [4, 7, 1, 9, 8, 4, 7, 9, 8, 1, 2, 7, 4, 9, 8, 1, 2, 4, 7, 1, 9, 84] start 2 end len(a) print(xier_paixu1(a, start, end))五颗星–堆排序 ## 创建一个列表去执行大顶堆操作便于排序 def fangwen_paixu(arry): arry[None]arry # 将列表进行自顶向下的堆排序不能超过索引 for i in range(len(arry)//2,0,-1): dui_paixu(arry,i,len(arry)-1) # 将最顶堆顶端的数与最低端的数交换放入列表中不断缩小最低端的索引 for i in range(len(arry)-1,0,-1): arry[i],arry[1]arry[1],arry[i] dui_paixu(arry,1,i-1) return arry # 创建堆排序函数 ## def dui_paixu(a, start, end): headstart jiedianstart*2 while(jiedianend): # 寻找叶子节点最大的值与头节点比较将最大的值放入到头节点中 if jiedian1end and a[jiedian]a[jiedian1]: jiedian1 if a[head]a[jiedian]: a[head],a[jiedian]a[jiedian],a[head] # 进行迭代最后遍历完整个数组形成大顶堆 head,jiedianjiedian,jiedian*2 else: break # 创建一个测试fangwen_paixu函数 b[4,6,5,3,6,5,3,6,7,7,3,2,4,9,8,4,8,9,2,4,8,9,3,1,3,9] cfangwen_paixu(b) #把c列表里面的NONE去掉 c.pop(0) print(c)记得多看视频多理解理解反复观看
http://www.hkea.cn/news/14461243/

相关文章:

  • 商务网站的建设与维护96个html静态网站模板打包
  • 什么网站有女人跟狗做的秦淮网站建设
  • 个人网站变现楼盘动态
  • 完爆网站开发经典实例电子商务网站调研报告
  • 西安自助建站自己开网站工作室
  • 重点培育学科建设网站大城县建设局网站
  • 网销都是在那些网站做推广网站后台密码怎么修改
  • 建一个com网站要多少钱手机建网站软件
  • 做模拟人生比较有名的网站全屏网站源码
  • 怎么做qq分享网站外贸网站模板制作
  • 潍坊网站建设一品网络小程序网上怎么找人去推广广告
  • 阿里云Windows网站建设中国星子网
  • 网站seo啥意思上海做网站多少钱
  • 网站建设的建议和意见wordpress进的慢
  • 最好的自助建站系统网站建设 如何友情链接
  • 网站建设 技术规范书怎么搭载wordpress
  • 外网视频网站做泥声控2021室内设计公司排名
  • wap网站 微信小程序wordpress 全站静态
  • 重新做网站学建设网站首页
  • 成都专业网站排名推广万盛网站制作
  • 山东网站制作网络对企业管理的影响
  • 苏宁易购网站建设分析个人买卖网站怎么做
  • 怎样查看网站建设时间360提交网站收录入口
  • 哪个程序做下载网站好鞍山吧最新消息
  • 如何做服装的微商城网站建设昆明搜索引擎的关键词优化
  • 网站开发的认知旅游网站设计与实现
  • 网站制作报价大约品牌网站制作报价表
  • 世纪购网站开发招聘河南省工程招标信息网
  • 在360网站上怎么做推广网站首页原型图咋做
  • 建筑劳务东莞网站建设做360效果图网站